Nếu tôi hiểu đúng, bạn cần sử dụng outer join
thay vì. Sau đó, bạn có thể sử dụng COALESCE
để trả về giá trị được liên kết với "DEF" nếu T2.REF
là 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