我有一张桌子
c1 b1 y1 sk sales cogs
in b2b 2012 s1 1000 900
in b2b 2012 s2 1100 1050
in b2b 2011 s1 1000 900
我想在多个列上进行透视。我尝试了几次,但无法生成以下输出
c1 b1 sk sales_2012 sales_2011 cogs_2012 cogs_2011
in b2b s1 1000 1000 900 900
in b2b s2 1100 1050
请帮忙
提前致谢
您可以在单个枢轴中轻松实现工会。
Select *
FROM
(SELECT c1, b1, 'sales_' + CAST(y1 AS VARCHAR(4)) AS Dimension, sk, sales AS Value
FROM dbo.s1
UNION ALL
SELECT c1, b1, 'cogs_' + CAST(y1 AS VARCHAR(4)) AS Dimension, sk, cogs AS Value
FROM dbo.s1
) AS p
PIVOT
(
SUM(Value)
FOR Dimension IN
( sales_2012, sales_2011 , cogs_2012 , cogs_2011)
) AS pvt
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句