Om jag förstår det rätt måste du använda en outer join
istället. Du kan sedan använda COALESCE
för att returnera värdet som är associerat med "DEF" om T2.REF
är NULL
:
SELECT T1.CODE,
T2.CODE,
T3.VALUE
FROM TABLE1 T1
LEFT JOIN TABLE2 T2 ON T1.REF = T2.CODE
LEFT JOIN TABLE3 T3 ON COALESCE(T2.REF,'DEF') = T3.CODE
WHERE T1.CODE = XXXXX