Динамическая сводная таблица с несколькими столбцами на сервере SQL

Я пытаюсь повернуть таблицу динамически, но не могуполучить желаемый результат. Вот код для создания таблицы

 create table Report
 (
 deck char(3),
 Jib_in float,
 rev int,
 rev_insight int,
 jib_out float,
 creation int
 )

 insert into Report  values
 ('A_1',0.345,0,0,1.23,20140212),
 ('B_2',0.456,0,4,2.34,20140215),
 ('C_3',0.554,0,6,0.45,20140217),
 ('D_4',0.231,0,8,7.98,20140222),
 ('E_5',0.453,0,0,5.67,20140219),
 ('F_6',0.344,0,3,7.23,20140223)'

Код, написанный до сих пор .... это превращает колоду и столбец jib_in в строки, но это только две строки, то есть одна, которую я помещаю в агрегатную функцию под функцией PIVOT, и одну, которую я помещаю внутри QUOTENAME ()

 DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX);
 SET @columns = N'';
 SELECT @columns += N', p.' + QUOTENAME(deck)
 FROM (SELECT p.deck FROM dbo.report AS p
 GROUP BY p.deck) AS x;
 SET @sql = N'
 SELECT ' + STUFF(@columns, 1, 2, '') + '
 FROM
 (
 SELECT p.deck, p.jib_in
 FROM dbo.report AS p
 ) AS j
 PIVOT
 (
 SUM(jib_in) FOR deck IN ('
 + STUFF(REPLACE(@columns, ', p.[', ',['), 1, 1, '')
 + ')
 ) AS p;';
 PRINT @sql;
 EXEC sp_executesql @sql;

Мне нужно, чтобы все столбцы были повернуты и отображены в сводной таблице. любая помощь будет оценена. Я очень новичок в динамическом повороте. Я пробовал так много способов добавить другие столбцы, но безрезультатно !! Я знаю, что есть и другие способы, пожалуйста, не стесняйтесь упоминать, если есть какой-то другой способ сделать это правильно.

Ответы на вопрос(1)

Ваш ответ на вопрос