Din where-sats konverterar den yttre sammanfogningen tillbaka till en inre.
De icke-matchande raderna som bevaras av outer join
kommer alla att ha NULL
värden för documentation.status
så din documentation.status != 3
condition kommer att filtrera bort dessa (Resultatet av uttrycket NULL !=3
är unknown
inte true
).
För att undvika detta problem använd
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'
Observera att documentation.status != 3
predikatet flyttas till JOIN
skick.