2013-10-21 40 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

相关问题