3
我試圖動態地透視表,但無法獲得想要的結果。 下面是創建一個表在sql server中有多個列的動態數據透視表
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進行,但多數民衆贊成它只有兩排,即在一個我把聚合函數裏面下旋轉功能和一個我把裏面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;
我需要所有列pivoted和顯示在樞軸表。任何幫助,將不勝感激。我在動態數據透視方面非常新穎。我嘗試了很多方法來添加其他列但無濟於事! 我知道還有其他的方法,請隨時提及是否有任何其他方式來得到這個權利。
請秀你想要的輸出 – praveen
這裏有一個很好的答案:http://stackoverflow.com/questions/21320447/pivot-dynamically-returned-results-from-join-of-two-tables/21320742#21320742 –