dos combinaciones externas izquierdas no funcionan Oracle SQL

Hay cuatro tablas en la consulta.
La tabla a contieneayuda , un nombre
La tabla a_tl contienea_tl_id , a_id, language_id, a_disp_name
La tabla b contieneoferta , a_id, b_name
La tabla b_tl contieneb_tl_id , b_id, language_id, b_disp_name

Quiero hacer una combinación externa izquierda en a y a_tl, una combinación izquierda en b y b_tl
y una combinación interna en las tablas resultantes. Escribí la siguiente consulta

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

Esta consulta está funcionando, el language_id está presente en la base de datos si, para un valor particular, no está presente, no funcionará, es decir, la unión externa izquierda no funcionará

Respuestas a la pregunta(2)

Su respuesta a la pregunta