sql - 根据状态获取不常见的记录
问题描述
我有两张桌子。我需要根据状态从 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'
解决方案
您可以使用NOT EXISTS
如下:
SELECT T2.*
FROM T2
WHERE NOT EXISTS
(SELECT 1 FROM T1
WHERE T1.DOC_NO = T2.DOC_NO
AND T1.STATUS = 'Cleared');
推荐阅读
- c - 需要有关 fork 中 processID 的 2 个特定事项的帮助(在类似 unix 的系统上)-C 语言
- bash - 将键盘快捷键绑定到 bash 功能以中断睡眠?
- javascript - 在nodejs中捕获pdf数据的正则表达式
- c# - Wpf 从 C# 加载资源字典
- c# - 将数据(从数据库中获取)显示到 InputTextarea Blazor
- asp.net-core - DotNet Core 中基于角色的集中访问控制
- r - 如果某些列的值重复,如何添加/合并行
- xslt - 在 XSL 中复制文本并替换字符
- tensorboard - Windows 10 下 Tensorflow.JS 的 Tensorboard
- vb.net - 如何在 VB.net 的 Post 方法中从正文中读取数据