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