首页 > 解决方案 > 根据状态获取不常见的记录

问题描述

我有两张桌子。我需要根据状态从 T2 中获取 T1 中不存在的记录。我不确定我是否会从 T1 获取所有记录。我了解原因,但不确定如何解决。你能指导一下吗?

T1

在此处输入图像描述

和 T2

在此处输入图像描述

输出:

在此处输入图像描述

查询我试过。

SELECT T2.*
FROM T2 LEFT OUTER JOIN T1 
ON T2.DOC_NO=T1.DOC_NO
WHERE T2.STATUS='Cleared' and T1.STATUS !='Cleared' 

标签: sqloracleoracle11g

解决方案


您可以使用NOT EXISTS如下:

SELECT T2.*
  FROM T2 
 WHERE NOT EXISTS 
  (SELECT 1 FROM T1
    WHERE T1.DOC_NO = T2.DOC_NO
      AND T1.STATUS = 'Cleared');

推荐阅读