Ich habe eine Tabelle, die ich den ersten Nicht-Null-Wert von 3 (und nur 3) Spalten für jede ID beginnend mit Col1 dann Col2 dann Col3Wie kann man herausfinden, welche Spalte/Wert der Operator COALESCE erfolgreich ausgewählt hat?
Hinweis finden möchte: Col3 ist NIE NULL
ID Col1 Col2 Col3
------------------------------
1 A B X
2 NULL C X
3 NULL NULL X
4 D NULL X
Um die richtige Spalte für jeden Wert erhalte ich die folgende SQL-Select verwenden
SELECT ID,
COALESCE(Col1, Col2, Col3) AS Col
FROM MyTable
die folgende und arbeitet wieder ganz gut
ID Col
-------------
1 A
2 C
3 X
4 D
Was ich will ist eine dritte Spalte zurückgegeben, die angibt, in welcher Spalte die Coalesce erfolgreich war. Das folgende ist die Ergebnismenge, die ich herstellen möchte:
ID Col Source
-----------------------
1 A Col1
2 C Col2
3 X Col3
4 D Col1
schön. Es ist so eine einfache Lösung, die vollkommen Sinn macht. Danke. –