sql-server - 只选择不满足特定条件的表
问题描述
我有 2 个表,我试图获取包含 Job_ID 的表 1,该表尚未完成表 2 中的进度。表 1。[工作]
Job_ID(键)|GroupID
1410 | A
2309 | B
3456 | C
表 2. [进展]
Job_ID |百分比
1410 | 10
1410 | 50
1410 | 60
2309 | 50
2309 | 100
3456 | 100
预期的:
Job_ID(键)|GroupID
1410 | A
我的 SQL 查询是:
SELECT FROM Job,(SELECT DISTINCT * FROM Progress
WHERE Percent<100) AS PGR
WHERE Job.Job_ID = PGR.Job_ID
但我仍然得到这个
Job_ID(键)|GroupID
1410 | A
2309 | B
我的逻辑是只获得百分比 < 100 的 Job_ID,但我未能在 stackoverflow 的 SQL 中找到特定的方法。在这种情况下请帮助我。
解决方案
您可以从下面的查询中获得帮助。
SELECT *
FROM table1 a
WHERE NOT EXISTS (SELECT 1 FROM table2 b WHERE a.job_id = b.job_id and percentage = 100)
推荐阅读
- ios - 使包装器将自我类型化为自我的扩展
- c# - How to do SQL query with string parameter value in C#
- emacs - 通过 SSL 连接到 ZNC
- f# - 如何在 F# 中高效地创建倒序列表
- ubuntu - 如何使用“brew”在 ubuntu 上安装 gcc
- javascript - 为什么一个简单的 JS 自动点击器会破坏页面?
- binding - 如何根据可选的 Binding 在此 SwiftUI @ViewBuilder 中初始化 Bool ?
- javascript - 在反应计算器中修剪前导零
- laravel - 如何在 Laravel 5.2.45 中获取 POST 参数
- scala - 在 scala shapeless 中,如何在另一个方法中使用 Record.updateWith?