我有三个表 A(Master)、B(Master)和 C(Transaction)。A.id 和 B.id 的组合存在于 C 中。我希望 A 的数据在表 C 中不存在 A.id 和 B.id 的组合。
我尝试了以下但没有选择任何行。
从 A、B、C 中选择 A.*,其中 A.id != C.id 和 B.id != C.id
我不擅长创建查询。
有人可以对此进行查询吗?
SELECT *
FROM A
WHERE A.id NOT IN (
SELECT Aid FROM C)
你的问题有点奇怪,这个查询选择了所有不在表 C 中的 A 的 id。
SELECT A.*, B.*
FROM A , B
WHERE A.id = B.id AND A.id NOT IN (SELECT Aid FROM C) AND B.id NOT IN (SELECT Bid FROM C)
SELECT * FROM A,C LEFT JOIN B ON B.id = A.id LEFT JOIN B ON B.id = C.id WHERE A.id=C.id AND B.id 为 NULL