当前位置: 代码迷 >> Sql Server >> 列转行的方法,例子如下,多谢
  详细解决方案

列转行的方法,例子如下,多谢

热度:60   发布时间:2016-04-24 09:25:32.0
求一个列转行的方法,例子如下,谢谢~
本帖最后由 liunana000 于 2015-01-26 17:12:46 编辑
create table data(IndicatorID int, DataTimeValue nvarchar(50) ,text varchar(10))
insert data
select '3877', '2009年' ,'AAA' union all
select '3877', '2010年' ,'AA' union all
select '3877', '2011年' ,'AAA' union all
select '7562', '2009年' ,'AAA' 
go

IndicatorID DataTimeValue text 
3877 2009年 AAA
3877 2010年 AA
3877 2011年 AAA
7562 2009年 AAA

想得出这样的结果
IndicatorID  2009年  2010年  2011年
3877              AAA           AA              AAA
7562              AAA            

------解决思路----------------------
select IndicatorID,[2009年],[2010年],[2011年]
from data
pivot 
(
max([text]) for DataTimeValue in([2009年],[2010年],[2011年])
) as bl
  相关解决方案