Oracle/SQL - 在另一个表中查找存在或为空或不存在或为空的记录

我想要做的是返回所有记录我的人员表不存在于辅助表或存在,但只有在两个特定字段中的一个具有空值的情况下。因此,考虑下面的表格Oracle/SQL - 在另一个表中查找存在或为空或不存在或为空的记录

person_id .... 

----------------

123 ....

456 ....

789 ....

p_id colA colB

--------------------

456 aadl

789 023j ljlj

我会得到以下

person_id .... 

----------------

123 ....

456 ....

这是因为人123没有在二级表中存在。人456也会因为它们存在而被返回,但其中的一列是空的。

谢谢!

回答:

你可以写:

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 - 在另一个表中查找存在或为空或不存在或为空的记录 的全部内容, 来源链接: utcz.com/qa/261812.html

回到顶部