DECLARE @T TABLE (Val INT, SortOrder VARCHAR(20))
INSERT INTO @T
SELECT 40,'Column 1'
UNION
SELECT 11,'Column 2'
UNION
SELECT 13,'Column 3'
UNION
SELECT 29,'Column 4'
UNION
SELECT 64,'Column 5'
UNION
SELECT 34,'Column 6'
SELECT * FROM @T
pivot (avg (Val) for SortOrder in (
[Column 1],[Column 2],[Column 3],[Column 4],[Column 5],[Column 6])
) as Whatever
rextester: http://rextester.com/LWZH64528
результаты:
+----------+----------+----------+----------+----------+----------+
| Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6 |
+----------+----------+----------+----------+----------+----------+
| 40 | 11 | 13 | 29 | 64 | 34 |
+----------+----------+----------+----------+----------+----------+
Дата в качестве значения первого столбца
DECLARE @T TABLE (Val VARCHAR(20), SortOrder VARCHAR(20))
INSERT INTO @T
SELECT '2016-10-12','Column 1'
UNION
SELECT '11','Column 2'
UNION
SELECT '13','Column 3'
UNION
SELECT '29','Column 4'
UNION
SELECT '64','Column 5'
UNION
SELECT '34','Column 6'
SELECT * FROM @T
pivot (MAX(Val) for SortOrder in ([Column 1],[Column 2],[Column 3],[Column 4],[Column 5],[Column 6])) as Whatever
Результат:
+----------+----------+----------+----------+----------+----------+
| Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6 |
+----------+----------+----------+----------+----------+----------+
|2016-10-12| 11 | 13 | 29 | 64 | 34 |
+----------+----------+----------+----------+----------+----------+
Сводная таблица https://blogs.msdn.microsoft.com/spike/2009/03/03/pivot-tables-in-sql-server-a-simple-sample/ – Snowlockk
У меня нет сомнений, что ссылка верна, но Мне тяжело следовать примеру, указанному в этой ссылке, и применить его к моей ситуации. – obizues
Взгляните на ответ и просто измените имена агрегатов и столбцов на то, что вам нужно. – Snowlockk