SQL:根据condtion选择具有相同列值的多个行

时间:2018-03-13 17:57:39

标签: sql

例如:

如果有如下表格

OrderNumber  item
--------------------
1            pen
2            pencil
1            box

在我的where条件中如果我把 item = pen,box 它应该给出两个/一个行,因为笔和盒的订单号是相同的。 如果我把 item = pen,铅笔结果应为空,因为订单号不同。如何撰写这个SQL查询。我们有超过4万的记录。所以查询应该非常乐观。

2 个答案:

答案 0 :(得分:0)

由于你知道'item'值,下面的代码返回常见的OrderNumber并解决你的问题:

select OrderNumber from @tempTable
where item in (@param1,@param2)
group by OrderNumber
having count(OrderNumber) > 1

答案 1 :(得分:0)

我已经修好了这个。

Select OrderNumber 
from @table 
where item IN (@item1,@item2) 
GROUP BY (OrderNumber) 
having count(distinct item) >= 2
相关问题