Mam tabeli, że chcemy znaleźć pierwszą niezerową wartość od 3 (i tylko 3) Kolumny dla każdego identyfikatora zaczynając Col1 następnie COL2 następnie Col3Jak ustalić, która kolumna/wartość została wybrana przez operatora COALESCE?
Uwaga: Col3 nigdy nie jest NULL
ID Col1 Col2 Col3
------------------------------
1 A B X
2 NULL C X
3 NULL NULL X
4 D NULL X
Aby uzyskać prawidłowe wartości dla każdej kolumny używam następujące SQL SELECT
SELECT ID,
COALESCE(Col1, Col2, Col3) AS Col
FROM MyTable
która zwraca następujące i działa dobrze
ID Col
-------------
1 A
2 C
3 X
4 D
Czego chcę, to trzecia kolumna zwrócona wskazująca, w której kolumnie zakończyła się koalescencja. Poniżej znajduje się zestaw wyników, które chcę produkować:
ID Col Source
-----------------------
1 A Col1
2 C Col2
3 X Col3
4 D Col1
piękna. to takie proste rozwiązanie, które ma sens. Dziękuję Ci. –