Find records that do not have a corresponding record in the same table

两盒软妹~` 提交于 2019-12-02 19:37:29

问题


I have the following table:

 ID | JobID | Data   | ResultType
---------------------------------
  1 | 12345 | XXXX   | 0
  2 | 12345 | YYYY   | 1
  3 | 23456 | AAAA   | 0
  4 | 23456 | BBBB   | 1
  5 | 34567 | FOOB   | 0
  6 | 45678 | BARB   | 0

Now I need to build a query that delivers all JobIDs where there is no entry with a ResultType = 1

EDIT1:

So at the end, I want to result that delivers only JobIDs 34567 and 45678, because there is no record with a ResultType = 1 for those JobIDs.

Can someone point me in the right direction?


回答1:


Another way (not tested):

SELECT JobId FROM Jobs GROUP BY jobId HAVING max(ResultType) = 0



回答2:


Use this query:

SELECT JobID 
From table1 a 
WHERE NOT EXISTS
 (SELECT 1 FROM table1 b WHERE b.JobID = a.JobID AND b.ResultType = 1)



回答3:


Something like

select * from jobs where jobId not in 
          (select jobId from jobs where resultType = 1)



回答4:


SELECT JobID FROM <TableName> WHERE ResultType <> 1

Is this what you want ???



来源:https://stackoverflow.com/questions/10999281/find-records-that-do-not-have-a-corresponding-record-in-the-same-table

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!