2012-10-16 52 views
1

我的表:SQL服務器 - 查詢返回組包含多個不同的記錄

Col1 Col2 
1  xyz 
1  abc 
2  abc 
3  yyy 
4  zzz 
4  zzz 

我有兩列的表。我想查詢col1有多個DISTINCT col2值的記錄。在上面給出的示例表中,查詢應返回值爲「1」的col1的記錄。

預期查詢結果:

Col1 Col2 
1  xyz 
1  abc 

回答

4
SELECT * 
FROM tableName 
WHERE Col1 IN 
(
    SELECT Col1 
    FROM tableName 
    GROUP BY Col1 
    HAVING COUNT(DISTINCT col2) > 1 
) 

SQLFiddle Demo

1
select t.col1, t.col2 
from (
    select col1 
    from tbl 
    group by col1 
    having MIN(col2) <> MAX(col2) 
) x 
join tbl t on t.col1 = c.col1 
相關問題