使用pivot将行转成列
摘自: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