Din where-klausul konverterer den ydre join tilbage til en indre.
De ikke-matchende rækker bevaret af den outer join
vil alle have NULL
værdier for documentation.status
så din documentation.status != 3
betingelse vil filtrere disse tilbage (Resultatet af udtrykket NULL !=3
er unknown
ikke true
).
Brug
for at undgå dette problemselect 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'
Bemærk, at documentation.status != 3
prædikat flyttes ind i JOIN
tilstand.