简体   繁体   中英

Oracle SQL add left join same table

Working source

SELECT T1.ref, T2.rtiers , T3.nom1
FROM T1, T2, T3 
WHERE T2.code = T1.rempl AND T3.code = T1.rtiers

Please help with correct syntax to add same table to existing joins:

not working
SELECT T1.ref, T2.rtiers, T3.nom1, N.nom1
FROM T1, T2, T3 
WHERE T2.code = T1.rempl 
    AND T3.code = T1.rtiers 
    AND T3.alias=T2.rtiers(+) AS N

not working
SELECT T1.ref, T2.rtiers, T3.nom1, N.nom1
FROM T1, T2, T3, (LEFT JOIN T3 ON T3.alias=T2.rtiers) N
WHERE T2.code = T1.rempl 
    AND T3.code = T1.rtiers

Like this:

SELECT T1.ref, T2.rtiers , T3.nom1, N.nom1 as nom1_outer
FROM T1, T2, T3, T3 N
WHERE T2.code = T1.rempl 
AND T3.code = T1.rtiers
AND N.alias(+) = T2.rtiers

or better

SELECT T1.ref, T2.rtiers , T3.nom1, N.nom1 as nom1_outer
FROM T1
JOIN T2 ON T2.code = T1.rempl 
JOIN T3 ON T3.code = T1.rtiers 
LEFT JOIN T3 N ON N.alias = T2.rtiers

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM