Jeśli dobrze rozumiem, musisz użyć outer join
zamiast. Następnie możesz użyć COALESCE
aby zwrócić wartość powiązaną z "DEF", jeśli T2.REF
jest 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