问题
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