如何创建一个SQL查询,显示购买产品A的人以及在不使用子查询的情况下购买产品B的人员。现在我正在尝试Where Product IN ('A' , 'B' )
,因为我还需要那些信息。有任何想法吗?现在我得到任何A和任何B&。我希望它看起来像
JIM 03/20/2014 Product A
JIM 03/20/2014 Product B
并排除任何不同时购买的人。 它目前看起来像
SELECT First, Last, Date, Product
From TABLE1
Where (Date = @Today) AND (Product IN ('A' and 'B'))
(A和B是产品表中的唯一选项)
答案 0 :(得分:2)
使用group
和having
条件,同时要求购买两种产品:
SELECT First, Last, Date
From TABLE1
Where Date = @Today
AND Product IN ('A', 'B')
GROUP BY First, Last, Date
HAVING COUNT(DISTINCT Product) = 2
关键是将DISTINCT
添加到COUNT()
,这会将简单交易数量的结果更改为购买的不同产品的数量。