dwa lewe złączenie zewnętrzne nie działa Oracle sql
W zapytaniu znajdują się cztery tabele
Tabela zawierapomoc , imię
Tabela a_tl zawieraa_tl_id , a_id, id_języka, a_disp_name
Tabela b zawierastawka , a_id, b_name
Tabela b_tl zawierab_tl_id , b_id, id_języka, b_disp_name
Chcę zrobić lewe sprzężenie zewnętrzne na a i a_tl, dołączenie lewego routera na b i b_tl
i sprzężenie wewnętrzne w tabelach wynikowych. Napisałem następujące zapytanie
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
To zapytanie działa w języku language_id, który jest obecny w bazie danych, jeśli dla konkretnej wartości nie jest obecny, to nie zadziała, tzn. Lewe sprzężenie zewnętrzne nie działa