अगर मैं सही ढंग से समझ रहा हूं, तो आपको 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