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".