9
我有希望找到從3中的第一非空值(只有3)列,用於每ID開始Col1中然後了col2然後COL3如何確定COALESCE運營商成功選擇哪個列/值?
注意的表:COL3是NEVER NULL
ID Col1 Col2 Col3
------------------------------
1 A B X
2 NULL C X
3 NULL NULL X
4 D NULL X
要得到正確的列每個我用下面的SQL選擇
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
很漂亮。這是一個非常合理的解決方案。謝謝。 – 2009-05-27 20:22:24