假设我有一个包含2列(a,b)的表,其中包含以下值:
a b
--- ---
1 5
1 NULL
2 NULL
2 NULL
3 NULL
Run Code Online (Sandbox Code Playgroud)
我想要的输出:
a
---
2
3
Run Code Online (Sandbox Code Playgroud)
我想只选择列a中的那些不同的值,其中每个单独出现的值在列b中都为NULL .因此从我的期望的输出,"1"将不会进来,因为有一个"5"列b即使有一个为"1"的第二发生NULL.
如何使用TSQL查询执行此操作?
如果我理解正确,您可以使用group by和having:
select a
from t
group by a
having count(b) = 0;
Run Code Online (Sandbox Code Playgroud)
使用count()列名时,它会计算非NULL值的数量.因此,如果所有值都是NULL,那么该值将为零.