如何基于单个列旋转多个列

时间:2018-01-08 13:00:00

标签: sql-server sql-server-2012 ssms

您好我有多列的表。 我想将列x,y,z等用于列名称' Period'适用于1-12之间的时间。

我写过这个

pivot(
  Sum([x]
  For [Period] in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])
   ) as Pv1

这只给了我一栏。

如果我想要多个专栏。我怎么接近它?

1 个答案:

答案 0 :(得分:1)

在这种情况下使用多支点

pivot(
  Sum([x]
  For [Period] in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])
   ) as Pv1
,
pivot(
  Sum([y]
  For [Period] in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])
   ) as Pv2
,
pivot(
  Sum([z]
  For [Period] in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])
   ) as Pv3