我有一个非常简单的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
您可以尝试使用LEFT OUTER JOIN
来获得结果。