Su cláusula where está convirtiendo la unión externa nuevamente en una interna.
Las filas que no coinciden conservadas por la outer join
todos tendrán NULL
valores para documentation.status
entonces su documentation.status != 3
la condición los filtrará de nuevo (El resultado de la expresión NULL !=3
es unknown
no true
).
Para evitar este problema, use
select documentation_reference.ref_docnumber,
documentation.filename
from documentation_reference
left outer join documentation
on ref_docnumber = documentation.docnumber
and documentation.status != 3
where documentation_reference.docnumber = 'TP-036'
Tenga en cuenta que documentation.status != 3
el predicado se mueve a JOIN
condición.