Ако разбирам правилно, трябва да използвате outer join
вместо. След това можете да използвате COALESCE
за да върне стойността, свързана с "DEF", ако T2.REF
е 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