T-SQL - 两者都相同但两者都不相同

问题描述 投票:-1回答:2

我正在尝试编写一个简单的查询,其中每个ID都需要同时具有产品A和B,但两者都不需要。在我的示例中,我只想要ID#3和每个产品的返回,因为其他ID都不符合此条件。

我看了一下Count / Rank / Row_Number,似乎无法想出这个。也许我正在以错误的方式看待它。有任何想法吗?

 ID Product 
 1  A
 2  A
 3  A
 3  A
 3  B
 4  A
 5  B
 6  B
 6  B
sql sql-server sql-server-2008 tsql ssms
2个回答
5
投票

使用group byhaving

select id 
from tbl 
where product in ('A','B')
group by id
having count(distinct product) = 2

0
投票

如果只有2个产品,您可以自行加入您的桌子:

SELECT A.ID, A.Product, B.Product FROM [table] A INNER JOIN [table] B ON A.ID = B.ID AND A.Product != B.Product
© www.soinside.com 2019 - 2024. All rights reserved.