首页 > 解决方案 > 只选择不满足特定条件的表

问题描述

我有 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 中找到特定的方法。在这种情况下请帮助我。

标签: sql-server

解决方案


您可以从下面的查询中获得帮助。

SELECT * 
FROM table1 a
WHERE NOT EXISTS (SELECT 1 FROM table2 b WHERE a.job_id = b.job_id and percentage = 100)

推荐阅读