0

我有三个表 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

我不擅长创建查询。

有人可以对此进行查询吗?

4

3 回答 3

0
SELECT * 
FROM A 
WHERE A.id NOT IN (
    SELECT Aid FROM C)

你的问题有点奇怪,这个查询选择了所有不在表 C 中的 A 的 id。

于 2013-05-05T13:48:44.167 回答
0
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)
于 2013-05-05T13:57:44.480 回答
0

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

于 2015-07-11T14:01:17.983 回答