0

尝试创建一个查询,该查询将查看第 1 列中具有相同值的所有行,然后如果 column2 中的值是特定值,则返回 column1 中的值。

例子

如果这是我的桌子:

111 | X

111 | X

111 | X

222 | X

222 | Y

333 | X

333 | X

我想在第 1 列中查找并返回所有行中第 2 列中包含 X 的任何值,我希望结果是:

111

333

由于 1111 和 3333 的所有实例在 column2 中都有一个 X

提前致谢!!!

4

2 回答 2

1

尚未在真实数据库上进行测试,但这应该可以解决问题:

select column1
from table
group by column1
having count(distinct column2)=1 and min(column2) = 'X'
于 2013-10-21T20:25:15.250 回答
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

于 2013-10-21T20:29:23.613 回答