【发布时间】:2019-02-25 03:20:29
【问题描述】:
我正在尝试列出客户订购的每种产品的所有客户姓名,并包括没有订单的客户。此外,如果客户多次订购相同的产品,请仅为该客户列出一次产品。
我已经设置了查询的开头,因此它显示了所有客户和订购的每个产品,但我似乎无法弄清楚如何添加具有 NULL 值的客户(意味着他们没有订购商品。)我知道左外连接应该以某种方式使用。这是我目前所拥有的:
select distinct
c.customerName, p.productName
from
products p, customers c, orders o, orderDetails d
left join
【问题讨论】:
-
查看表结构和所需结果的示例会很有帮助。
-
这看起来像您在参考中看到的任何
left join示例吗? PS 阅读参考文献,和join,您会看到逗号确实交叉连接,但优先级较低。所以join连接首先完成。不要在同一个from中使用,和join。 PS 在代码问题中给minimal reproducible example。
标签: mysql select outer-join