我有这张 table (a)
还有这张表 (b)
现在我必须获取 A 中不存在于 B 中的所有记录(a.id 不作为 b 出现) .idDomanda),并且其中 B.idUser 不是 1。所以在这种情况下,它应该从 a 返回仅 id 2,但它返回 1 和 2。
这是我的查询
SELECT a.* FROM a LEFT JOIN b ON a.id=b.idDomanda WHERE ( b.idUser <> 1 OR b.idUser IS NULL ) GROUP BY a.id
最佳答案
您想要将 b
上的条件移至 on
子句:
SELECT a.*
FROM a LEFT JOIN
b
ON a.id = b.idDomanda and b.idUser <> 1
WHERE b.idUser IS NULL
GROUP BY a.id;
group by
建议您可能需要使用 notists
来代替:
select a.*
from a
where not exists (select 1
from b
where a.id = b.idDomanda and b.idUser <> 1
);
关于mysql - 获取具有特定用户 ID 的另一个表中不存在的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27639358/