два левых внешних соединения не работают Oracle sql
В запросе четыре таблицы
Таблица содержитa_id , имя
Таблица a_tl содержитa_tl_id , a_id, language_id, a_disp_name
Таблица б содержитb_id , a_id, b_name
Таблица b_tl содержитb_tl_id , b_id, language_id, b_disp_name
Я хочу сделать левое внешнее соединение для a и a_tl, левое соединение для b и b_tl
и внутреннее соединение в результирующих таблицах. Я написал следующий запрос
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
Этот запрос работает, если language_id присутствует в базе данных, если для определенного значения он отсутствует, он не будет работать, т.е. левое внешнее соединение не работает.