Извлечение строки с данными из таблицы пар ключ-значение в MySQL

У меня есть две таблицы, одна называетсяcustomer и один называетсяcustomer_attributes.

Идея состоит в том, что таблица customer содержит основные данные о клиентах, и приложение можно настроить для поддержки дополнительных атрибутов в зависимости от того, как они используются.

customer_attributes имеет следующие 3 столбца:

customerID
key1
value1

Могу ли я получить полную строку с любыми дополнительными атрибутами, если указано, по умолчанию NULL, если нет? Я использую следующий запрос, но он работает, только если оба атрибута существуют в таблице customer_attributes.

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')

В этом случае два атрибута, которые меня интересуют, называются «wedding_date». и «тест»

Ответы на вопрос(3)

Ваш ответ на вопрос