无法从0:m关系表中的左连接获取记录

时间:2015-08-22 04:51:04

标签: mysql email relational-database left-join entity-relationship

我有2个表customersemailsemails表可以为每个公司提供0或1个或多个电子邮件。 现在,当我尝试使用

进行查询以获取所有客户时
select customers.*, emails.email 
from 
  customers left join 
  emails on emails.record_id = customers.id

我无法获得所有结果而只返回那些包含电子邮件或更多内容的记录。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

问题可能出在你的WHERE子句中,它会过滤你的左(客户)表的记录。此外,如果您在电子邮件表中有多个记录针对一个CustomerID,则必须使用distinct。

SELECT Distinct customers.*, emails.email from customers LEFT JOIN emails on
customers.id = emails.record_id WHERE (user_type = 'customer' OR user_type is
null) and (type='Call Centre' or type is null)