2013-03-11 82 views
0

我是新手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 

我想用型光伏或EP的返回所有的行,其中的CK#是相同的信息(行1和3)。這是什麼樣的SQL看起來像。

+2

[?你嘗試過什麼(http://whathaveyoutried.com/) – ruakh 2013-03-11 20:28:21

回答

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) 
1

你可以試試這個,這應該讓你有多種類型的差異:

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

我要指出如果[type]可以是NULL,那麼你也要確保處理它(ISNULL圍繞你的x.type和t.type可能是最好的方式)。 – 2013-03-12 13:47:37