Pobieranie najmniejszej i największej wartości z kolumn z rekordu

0

Cześć.
Posiadam następującą tabelę z rekordami:

ID wartosc1 wartosc2 wartosc3 wartosc4
1 1 2 3 4
2 4 5
3 2 3 4

Czy jest możliwość uzyskać: najmniejszą i największą wartość z każdego rekordu (uwzględniając tylko część kolumn, np nie uwzględniając kolumny ID)? Bez rozbijania tego na wiele zapytań lub dalszą "obróbkę" wyniku w kodzie.
Dla przykładu powinno zwrócić z pierwszego rekordu 1 i 4, z drugiego 4 i 5, z trzeciego 2 i 4.
Gdyby wszystkie kolumny były zawsze wypełnione to nie ma problemu, wystarczyłoby pobierać wartości z dwóch danych kolumn, tu niestety np. w kolumnie wartosc1 dla 2 rekordu jest null i powinno pobrać z wartosc2. :/

0

Przepraszam za brak tagu z typem bazy. Najbardziej zależy mi na MSSQL.

2

Spróbuj tego (znalezione w necie):

 SELECT
(SELECT MIN(v) FROM (VALUES(w1),(w2),(w3),(w4)) as value(v)),
(SELECT MAX(v) FROM (VALUES(w1),(w2),(w3),(w4)) as Value(v))
FROM Table_1 t1

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0