2013-10-21 65 views
0

嘗試創建一個查詢,該查詢將查看列1中具有相同值的所有行,然後返回column1中的值如果column2中的值是特定值。如果Column2中的所有值都是特定值,則返回Column1

如果這是我的表:

111 | X 

111 | X 

111 | X 

222 | X 

222 | Y 

333 | X 

333 | X 

而且我希望找到並返回列1個在列2中的所有行的X任何價值,我希望得到的結果是:

111 

333 

由於1111和3333的所有實例都在列2的X

釷anks提前!

回答

1

真實分貝還沒有測試,但這應該做的一招:

select column1 
from table 
group by column1 
having count(distinct column2)=1 and min(column2) = 'X' 
+0

看起來這是一個返回我需要什麼! – user2903820

1
SELECT DISTINCT col1 
FROM dbo.table1 t1 
WHERE NOT EXISTS(SELECT 1 FROM dbo.table1 t2 
        WHERE t1.col1 = t2.col1 
        AND t2.col2 <> 'X') 

DEMO

相關問題