SQL Query中的选择问题

时间:2016-02-01 22:52:21

标签: sql

我有根据转码选择的订单行。

Order#    Transacodes
123           CVC
123           ABC
123           GRE
123           DEF

我想要那些同时拥有CVC和GRE的订单行。

我尝试用(" CVC"" GRE")这样做但这给了我那些只有一个代码的人,而我需要两个。

3 个答案:

答案 0 :(得分:0)

这样的东西
SELECT *
FROM table
WHERE [Order#] IN (
    SELECT [Order#] 
    FROM table
    WHERE Transcodes = 'CVC'
    )
AND [Order#] IN (
    SELECT [Order#] 
    FROM table
    WHERE Transcodes = 'GRE'
    )

答案 1 :(得分:0)

使用聚合:

select order#
from t
where transacodes in ('CVC', 'GRE')
group by order#
having count(distinct transacodes) = 2;

答案 2 :(得分:0)

select order#
from orders
where Transacodes in  ('CVC','GRE') 
group by order#
having count(distinct Transacodes) = 2;