मैं एक मेज है कि मैं Col3यह पता लगाने के लिए कि COALESCE ऑपरेटर किस कॉलम/मान को सफलतापूर्वक चुना गया है?
कोनोट Col2 को Col1 के साथ शुरू प्रत्येक आईडी तो तब के लिए 3 से पहले गैर-शून्य मान (और केवल 3) कॉलम मिलेंगे करना चाहते हैं: Col3 कभी शून्य है
ID Col1 Col2 Col3
------------------------------
1 A B X
2 NULL C X
3 NULL NULL X
4 D NULL X
प्रत्येक मान मैं निम्नलिखित एसक्यूएल चुनें
SELECT ID,
COALESCE(Col1, Col2, Col3) AS Col
FROM MyTable
जो निम्नलिखित वापस आती है और अभी ठीक काम करता है का उपयोग करने के लिए सही स्तंभ प्राप्त करने के लिए
ID Col
-------------
1 A
2 C
3 X
4 D
जो मैं चाहता हूं वह तीसरा कॉलम लौटाता है यह इंगित करता है कि कोलेसे किस कॉलम पर सफल रहा था। निम्नलिखित परिणाम सेट है जो मैं तैयार करना चाहता हूं:
ID Col Source
-----------------------
1 A Col1
2 C Col2
3 X Col3
4 D Col1
सुंदर। यह इतना आसान समाधान है जो सही समझ में आता है। धन्यवाद। –