现有格式:
Name year value
A 2009 1
A 2010 2
A 2011 3
B 2009 11
B 2010 22
B 2010 33 转化为
Name 2009 2010 2011
A 1 2 3
B 11 22 33
怎么做?请教高手了。 可以用Linq 也可以用代码。最好是用LInq。另外主要问题是 2009 2010 2011 是不定的。 是会变化的。所以不能写死。
所以要做成动态的。
Name year value
A 2009 1
A 2010 2
A 2011 3
B 2009 11
B 2010 22
B 2010 33 转化为
Name 2009 2010 2011
A 1 2 3
B 11 22 33
怎么做?请教高手了。 可以用Linq 也可以用代码。最好是用LInq。另外主要问题是 2009 2010 2011 是不定的。 是会变化的。所以不能写死。
所以要做成动态的。
解决方案 »
- 金蝶软件怎么做二次开发?
- c#.net使用流处理读取WORD文件出现乱码
- 求一正则表达式,在【A、E、I、O、U】中,除了【A或者E】开头并且O结尾的组合外,其他的任意组合
- 大家给个线程得例子吧,怎么用10个线程发100个邮件呢
- clickonec 出错 URLDownloadToCacheFile failed with HRESULT发布的机器可以下载安装,其它机器都有这个错误!
- 关于正则表达式的又一个问题.
- 怎么样读数据和赋值???
- 正则表达式问题。。。。
- 想报培训班java、C#、网页制作、学哪个好?
- C#怎么减少假死,等待响应时间?
- 大家在读取SqlDatareader里面的数据的时候,都怎么来判断是否为空?
- c# 橫條圖及圓餅圖
http://blog.csdn.net/taomanman/article/details/6684013
create table #temp(Name varchar(20),year varchar(20),value varchar(20))
insert into #temp
select 'A','2009','1' union all
select 'A','2010','2' union all
select 'A','2011','3' union all
select 'B','2009','11' union all
select 'B','2010','22' union all
select 'B','2011','33'
declare @sql varchar(500)
set @sql = 'select Name'
select @sql=@sql+',max(case year when '''+[year]+''' then value end) ['+[year]+']'
from (select distinct [year] from #temp) as a
set @sql = @sql +' from #temp group by Name'
exec(@sql)