zwei links Outer Join funktioniert nicht Oracle SQL
Die Abfrage enthält vier Tabellen
Tabelle a enthältHilfe , ein Name
Tabelle a_tl enthälta_tl_id , a_id, language_id, a_disp_name
Tabelle b enthältbieten , a_id, b_name
Tabelle b_tl enthältb_tl_id , b_id, language_id, b_disp_name
Ich möchte einen Left-Outer-Join für a und a_tl ausführen, einen Left-Outer-Join für b und b_tl
und eine innere Verknüpfung für die resultierenden Tabellen. Ich schrieb die folgende Abfrage
SELECT case a.a_disp_name
WHEN null THEN a.a_name
else a.a_disp_name
end AS a_name ,
case b.b_disp_name
WHEN null THEN b.b_name
else b.b_disp_name
end AS b_name ,
a_id ,
b_id
FROM a ,
a_tl ,
b ,
b_tl
WHERE a.a_id = a_tl.a_id (+)
AND b.b_id = b_tl.b_id (+)
AND a_tl.language_id = 2
AND b_tl.language_id = 2
AND a.a_id= b.b_id
Diese Abfrage funktioniert, wenn die language_id in der Datenbank vorhanden ist und für einen bestimmten Wert nicht vorhanden ist, funktioniert sie nicht, d. H. Die linke äußere Verknüpfung funktioniert nicht