在内部联接上访问左联接

时间:2019-09-11 13:28:06

标签: mysql join

我想查看表a中与表c无关的所有内容

a.id = b.Fid b.id = c.FID

因此,我想在a内部联接a & b上进行a左联接b & c

在这里不起作用

SELECT A.ID,

FROM 
A

LEft JOIN
(B
INNER JOIN 
C
ON
C.ID =B.FID) 
ON
B.ID = A.FID

where 
C.id is null

2 个答案:

答案 0 :(得分:0)

这可以在假定的三表关系中起作用:

SELECT a.* FROM table1 a
INNER JOIN table2 b ON a.id=b.id
WHERE a.id NOT IN (SELECT c.id FROM table3 c)

但是,老实说,如果您不发布任何架构,就不可能提出真正的解决方案。

编辑:如果您想要的结果是与表2相关的所有行而不与表3相关的所有行,则此方法有效

答案 1 :(得分:0)

请检查以下内容:

SELECT A.Id
FROM A
WHERE (((A.Id) Not In (SELECT b.Id FROM b INNER JOIN c ON b.FID = c.Id)));

Sample data and resultset

BR,Caglar