DECLARE @sorttest TABLE ( test1 INT, test2 INT)
INSERT INTO @sorttest values
(1,2),(5,4),(4,3),(NULL,1),(3,null),(2,5)
DECLARE @temp1 TABLE ( ID1 INT IDENTITY(1,1) PRIMARY KEY, test3 INT )
DECLARE @temp2 TABLE ( ID2 INT IDENTITY(1,1) PRIMARY KEY, test4 INT )
INSERT INTO @temp1
SELECT test1 FROM @sorttest ORDER BY test1 DESC
INSERT INTO @temp2
SELECT test2 FROM @sorttest ORDER BY test2 DESC
SELECT test3, test4 FROM @temp1 t1
LEFT JOIN @temp2 t2 ON t1.ID1 = t2.ID2
Я манипулировал данными, используя 2 другие временные таблицы, чтобы получить желаемый результат, используя оператор соединения.
Если вам нужно переставить значения в строке, требуется больше логики, чем один оператор выбора.
ВЫВОД:
test3 test4
5 5
4 4
3 3
2 2
1 1
NULL NULL