我在这里遇到同样的问题:SQL select rows with only a certain value in them
但我找到的解决方案仅适用于给定的一个值,我的意思是我希望它能用于多个值{2或+},例如:
Col 1 Col 2 Col 3
1 A 1
2 A 2
3 B 1
4 C 1
5 C 2
6 D 1
7 C 3
我希望获得仅包含cols3 = 1和cols3 = 2 ON的所有行(仅值1和2),输出将为:" A"对于给出的表,我不想要C,因为它有另一个cols 3!= 1或2的值, 链接中的解决方案允许只为一个值执行此操作,但我想将其扩展为2或更多值,有人可以帮助我:D
答案 0 :(得分:0)
SELECT col 2 FROM TABLE 在哪里(第3栏= 1 OR col 3 = 2) AND col 2 NOT IN (SELECT col 2 FROM TABLE WHERE(col 3<> 2 AND col 3<> 1));
答案 1 :(得分:0)
您可以使用conditional aggregation
:
select col2
from yourtable
group by col2
having sum(col3=1) > 0
and sum(col3=2) > 0
and sum(col3 not in (1,2)) = 0