说实话,我不知道如何布置这个问题,但我尽了最大努力。
我正在尝试加入多个表格。 TableA与TableE和TableF没有关系。
观察我试图用**突出显示的查询区域 当谈到TableE时,我加入了TableF,这是下面的内容。如何重写这个?
SELECT
a.NAME,b.ID,c.CODE
FROM SCHEMA.TABLEA A
INNER JOIN SCHEMA.TABLEB b
ON A.A_ID = B.B_ID
INNER JOIN SCHEMA.TABLEC C
ON A.A_ID = C.C_ID
LEFT JOIN SCHEMA.TABLED D
ON A.A_ID = D.D_ID
**LEFT JOIN SCHEMA.TABLEE E
ON D.D_ID = F.F_ID
LEFT JOIN SCHEMA.TABLEF F
ON E.E_ID = F.F_ID**
答案 0 :(得分:2)
由于您声明表f与表d相关且表e与表f相关,我认为您只需要更改连接顺序,如下所示
SELECT
a.NAME,b.ID,c.CODE
FROM SCHEMA.TABLEA A
INNER JOIN SCHEMA.TABLEB b
ON A.A_ID = B.B_ID
INNER JOIN SCHEMA.TABLEC C
ON A.A_ID = C.C_ID
LEFT JOIN SCHEMA.TABLED D
ON A.A_ID = D.D_ID
LEFT JOIN SCHEMA.TABLEF F
ON D.D_ID = F.F_ID
LEFT JOIN SCHEMA.TABLEE E
ON E.E_ID = F.F_ID