我目前有查询
SELECT id FROM table1 WHERE {filter on table1} AND id NOT IN(SELECT table1ID FROM table2 WHERE condition = 0)
Table1与table2有1 - 多关系,我正在寻找table2中没有条目且条件= 0的所有ID。
有没有办法在没有内部选择的情况下重写这个查询?我一直在摸不着头脑,现在欢迎任何指示。
答案 0 :(得分:1)
您可以尝试类似
的内容SELECT id
FROM table1 t1 LEFT JOIN
table2 t2 ON t1.ID = t2.table1ID
AND t2.Condition = 0
WHERE {filters on table1}
AND t2.table1ID IS NULL
或者同样好的
SELECT id
FROM table1 t1
WHERE {filters on table1}
AND NOT EXISTS (
SELECT 1
FROM table2 t2
WHERE t1.ID = t2.table1ID
ADN t2.condition = 0
)