2

我有一个非常简单的 MySQL 问题。我有两个表,客户和订单。Customer 表有字段(id、name),Order 有字段(id、customerID 和 item)。我可以在 MySQL 中使用以下查询找到哪个客户购买了产品 A 和购买了产品 B 的客户。

SELECT DISTINCT c.`id`, c.name, o.`item`, o.qty FROM `customer` as c
INNER JOIN order AS o ON (c.`Id` =  o.`customerID`) 
where o.`item` ="Product A"

Union

SELECT DISTINCT c.`id`, c.name, o.`item`, o.qty FROM `customer` as c
INNER JOIN order AS o ON (c.`Id` =  o.`customerID`) 
where o.`item` ="Product B"

如何在这两个结果集中找到差异和相似之处?1) 即只购买产品 A 但没有购买产品 B 的客户 2) 即同时购买产品 A 和 B 的客户

谢谢您的帮助。

D

4

1 回答 1

0

您可以尝试使用LEFT OUTER JOIN来获得结果。

于 2013-08-08T17:53:08.230 回答