Mysql +两个结果集的差异

时间:2013-08-08 17:51:07

标签: mysql select resultset set-difference

我有一个非常简单的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)I.e。仅购买产品A但未按产品B购买的客户 2)I.e。同时购买产品A和B的客户

感谢您的协助。

d

1 个答案:

答案 0 :(得分:0)

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