Recuperando uma linha, com dados da tabela de par de valores-chave no MySQL

Eu tenho duas mesas, uma chamadacustomer e um chamadocustomer_attributes.

A ideia é que a tabela do cliente contenha dados essenciais do cliente, e o aplicativo pode ser personalizado para suportar atributos adicionais, dependendo de como é usado.

customer_attributes tem as seguintes 3 colunas:

customerID
key1
value1

Posso recuperar a linha completa, com quaisquer atributos adicionais, se especificado, padrão para NULL, se não? Estou usando a consulta a seguir, mas ela só funciona se os dois atributos existirem na tabela 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')

Neste caso, os dois atributos em que estou interessado são chamados de 'wedding_date' e 'test'

questionAnswers(3)

yourAnswerToTheQuestion