Oracle/SQL - 在另一个表中查找或为空或可能不存在或为空的记录
Posted
技术标签:
【中文标题】Oracle/SQL - 在另一个表中查找或为空或可能不存在或为空的记录【英文标题】:Oracle/SQL - Find records that or null or may not exist or are null in another table 【发布时间】:2012-10-11 20:01:36 【问题描述】:我要做的是返回我的个人表中不存在或确实存在的所有记录,但前提是它们在两个特定字段之一中具有空值。所以给定下表
person_id ....
----------------
123 ....
456 ....
789 ....
p_id colA colB
--------------------
456 aadl
789 023j ljlj
我会得到以下内容
person_id ....
----------------
123 ....
456 ....
这可能是因为辅助表中不存在人员 123。也将返回人员 456,因为它们存在,但两列之一为空。
谢谢!
【问题讨论】:
【参考方案1】:你可以写:
SELECT *
FROM persons
WHERE person_id NOT IN
( SELECT p_id
FROM secondary_table
WHERE colA IS NOT NULL
AND colB IS NOT NULL
)
;
【讨论】:
如此简单....大声笑这将成为更大查询的一部分,我让其复杂性阻碍了最简单的解决方案。以上是关于Oracle/SQL - 在另一个表中查找或为空或可能不存在或为空的记录的主要内容,如果未能解决你的问题,请参考以下文章