摘自:http://blog.csdn.net/happy664618843/archive/2010/03/05/5350835.aspx
msdn定义pivot:
PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合。UNPIVOT 与 PIVOT 执行相反的操作,将表值表达式的列转换为列值
阅:就是行转列
下面是一个简单将行换列demo:
Create table ta(名称 nvarchar(2),人数 int)
Go
Insert into ta
select '张一',2 union all
select '张二',5 union all
select '张三',8 union all
select '张四',11
Go
select *
from ta
pivot
(
max(人数)
for 名称 in([张一],[张二],[张三],[张四])
) as pvt
张一 张二 张三 张四
----------- ----------- ----------- -----------
2 5 8 11
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/happy664618843/archive/2010/03/05/5350835.aspx