SQL Server Pivot多列

阿杰

我有一张桌子

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL Server PIVOT按多列

来自分类Dev

如何在 SQL Server 中执行 PIVOT 对多列进行聚合

来自分类Dev

SQL Server GROUP BY多列

来自分类Dev

PIVOT SQL Server 2012中的日期列

来自分类Dev

Excel或SQL Server-多列行

来自分类Dev

SQL Server使用多列联接

来自分类Dev

从Oracle到SQL Server的多列IN条件

来自分类Dev

SQL Server-动态多列枢轴

来自分类Dev

在多列SQL Server上枢轴

来自分类Dev

SQL Server行到多列

来自分类Dev

SQL Server:选择多列所在的位置

来自分类Dev

SQL Server 使用 FREETEXTABLE 搜索多列

来自分类Dev

SQL Server Pivot语法

来自分类Dev

SQL Server Pivot In子句

来自分类Dev

SQL Server PIVOT与dateadd()

来自分类Dev

使用Pivot在SQL Server中将行转换为列

来自分类Dev

在SQL Server中删除不需要的列Pivot

来自分类Dev

SQL Server Pivot计算并将行转换为列

来自分类Dev

SQL Server将一列拆分为多列

来自分类Dev

SQL Server 2008联接多列以形成一列

来自分类Dev

SQL Server将一列拆分为多列

来自分类Dev

SQL Server - 按 1 列选择多列分组

来自分类Dev

SQL Server : PIVOT Timestamp and calculate

来自分类Dev

SQL Server Dynamic Pivot的问题

来自分类Dev

SQL Server PIVOT多个日期

来自分类Dev

SQL Server Pivot 排序问题

来自分类Dev

SQL Server:使用多列外键创建表

来自分类Dev

在SQL Server中动态将多行合并为多列

来自分类Dev

如何检查SQL Server中是否存在多列