Abrufen einer Zeile mit Daten aus der Schlüssel-Wert-Paartabelle in MySQL

Ich habe zwei Tische, einer heißtcustomer und einer rief ancustomer_attributes.

Die Idee ist, dass die Kundentabelle die wichtigsten Kundendaten enthält und die Anwendung angepasst werden kann, um je nach Verwendungszweck zusätzliche Attribute zu unterstützen.

customer_attributes hat die folgenden 3 Spalten:

customerID
key1
value1

Kann ich die vollständige Zeile mit allen zusätzlichen Attributen abrufen, wenn nicht, wird standardmäßig NULL verwendet? Ich verwende die folgende Abfrage, aber sie funktioniert nur, wenn beide Attribute in der Tabelle customer_attributes vorhanden sind.

SELECT `customer`.*, `ca1`.`value1` AS `wedding_date`, `ca2`.`value1` AS `test` 
FROM `customer` 
LEFT JOIN `customer_attributes` AS `ca1` ON customer.customerID = ca1.customerID 
LEFT JOIN `customer_attributes` AS `ca2` ON customer.customerID = ca2.customerID 
WHERE (customer.customerID = '58029') 
   AND (ca1.key1 = 'wedding_date') 
   AND (ca2.key1 = 'test')

In diesem Fall heißen die beiden Attribute, die mich interessieren, "wedding_date" und "test".

Antworten auf die Frage(3)

Ihre Antwort auf die Frage