我有两张桌子。
第一个表被称为任务,第二个表被命名为国家。
我的任务表
ID TaskID Country CustomerID
------------------------------------------
1 213 china 22
2 213 USA 24
3 213 china 26
4 214 Canada 28
国家/地区表
ID Country
---------------
1 USA
2 Japan
3 England
我需要一个select语句,它返回所有没有国家/地区的国家/地区表格的任务ID。 在这种情况下,我需要返回TASKID:214,因为加拿大不在国家/地区表中。我不会得到TASKID:213,因为美国在国家表中。
答案 0 :(得分:3)
试试这个:
SELECT
TaskID
FROM
Task T LEFT OUTER JOIN Countries C ON (T.COUNTRY = C.COUNTRY)
GROUP BY
TaskID
HAVING
COUNT(C.ID) = 0
答案 1 :(得分:0)
试试这个,
select taskid
from task where taskid not in
(select taskid from task where country in
(select country from countries))
答案 2 :(得分:0)
试试这个,
SELECT t.taskid
FROM task t
WHERE EXISTS (
SELECT 1
FROM countries
WHERE country = t.country
)