J'ai une table que je souhaite trouver la première valeur non nulle de 3 (et seulement 3) colonnes pour chaque ID commençant par Col1 puis Col2 puis Col3Comment déterminer quelle colonne/valeur l'opérateur COALESCE a sélectionné avec succès?
Note: Col3 est jamais NULL
ID Col1 Col2 Col3
------------------------------
1 A B X
2 NULL C X
3 NULL NULL X
4 D NULL X
pour obtenir la bonne colonne pour chaque valeur que j'utilise Select SQL suivante
SELECT ID,
COALESCE(Col1, Col2, Col3) AS Col
FROM MyTable
qui retourne ce qui suit et fonctionne très bien
ID Col
-------------
1 A
2 C
3 X
4 D
Ce que je veux, c'est une troisième colonne retournée indiquant la colonne sur laquelle la fusion a réussi. Ce qui suit est le jeu de résultats que je souhaite produire:
ID Col Source
-----------------------
1 A Col1
2 C Col2
3 X Col3
4 D Col1
belle. C'est une solution tellement simple et logique. Je vous remercie. –