【发布时间】:2011-11-06 03:37:12
【问题描述】:
我有一群人。让我们称他们为A,B,C。我有一张表格,显示他们每个月的工资....
PERSON|MONTH|PAID
A JAN 10
A FEB 20
B JAN 10
B FEB 20
B SEP 30
C JAN 10
C JUNE 20
C JULY 30
C SEP 40
这张桌子可以而且确实可以持续多年..
有没有一种方法可以在如下所示的表格中旋转该表(我看到的实际上不需要聚合,这通常在数据透视表中完成)?
JAN FEB MAR APR MAY JUN JUL AGU SEP
A 10 20
B 10 20 - - - - - - 30
C 10 - - - - 20 30 - 40
以前没有遇到过类似的问题,但假设这是一个常见问题,有什么想法吗?
【问题讨论】:
-
您仍然可以在
MONTH上“聚合”。只是在您的数据集中它已经聚合了。只需使用SUM之类的东西。 -
您可以对固定数量的列执行此操作,一月..二月...,您不能对可变列数执行此操作
-
...没有办法对可变列执行此操作?
-
是的,如果您使用的是 SQL Server 2005 或更高版本,您可以使用动态列数来实现。请参阅下面的答案。
标签: sql sql-server tsql pivot