基于多列返回行

时间:2013-03-11 20:25:00

标签: sql

我是Microsoft Query用户的新手。我有一个表格,其中包含

等信息
ckno    ckdate    type  
123     12/1/12     PV  
654     11/6/12     EP
123     12/14/12    EP
852     01/3/13     PV 

我想返回所有具有PV或EP类型的行,其中ck#是相同的(行1和3)。 sql对此有何看法。

2 个答案:

答案 0 :(得分:1)

您可以尝试这样做,这应该允许您在类型上有多个差异:

    SELECT *
    FROM SomeTable t
    WHERE EXISTS 
        (SELECT 1 FROM SomeTable x 
        WHERE x.ckno = t.ckno AND x.type <> t.type)

答案 1 :(得分:0)

SELECT *
FROM YourTable T
WHERE EXISTS (  SELECT ckno 
                FROM YourTable
                WHERE [type] IN ('PV','EP')
                AND ckno = T.ckno
                GROUP BY ckno
                HAVING COUNT(*)>1)