我有一个具有引用id列的表。此引用标识列包含某些行的主键。现在我想从表中过滤掉包含NULL的所有其余值
表
PK REFERENCE_ID
1 1
2 NULL
3 3
4 NULL
5 ab
下面的查询带来了所有具有reference_id的结果,但我想获取REFERENCE_ID列的所有NULL值
select count(*)from table where table.ID not in (select table.reference_id from person)
我已经使用了存在但没有用。重要的是我参考PK搜索它,因为我想从除了PK之外的列REFERENCE_ID中获取包括NULL值的所有值。
答案 0 :(得分:1)
也许我仍然不清楚你要做什么,但是它可以将原始查询的元素与IS NULL
结合起来吗?
SELECT PK, Reference_ID
FROM table
WHERE table.Reference_ID NOT IN (select PK from table)
OR table.Reference_ID IS NULL
编辑:我不确定Reference_ID字段中的'ab'。如果Reference_ID是varchar或类似字段,则可能需要这样:
SELECT PK, Reference_ID
FROM table
WHERE table.Reference_ID NOT IN (select cast(PK as varchar(5)) from table)
OR table.Reference_ID IS NULL
答案 1 :(得分:0)
你试过了吗?
SELECT Reference_ID
FROM Table
WHERE Reference_ID IS NULL;