首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

一列的列转行,该怎么解决

2012-02-16 
一列的列转行有一列列名aa2007-01-012008-01-01。。。。。有几十列如何变成一行的纪录,不要列名了2007-01-01200

一列的列转行
有一列列名aa
2007-01-01
2008-01-01
。。。。。
有几十列
如何变成一行的纪录,不要列名了

2007-01-01 2008-01-01 。。。。
select 语句中不出现纪录值2007-01-01,2008-01-01


[解决办法]

SQL code
create table TB(aa varchar(10))insert into TB values('2007-01-01') insert into TB values('2008-01-01')  insert into TB values('2009-01-01')  insert into TB values('2010-01-01')  insert into TB values('2011-01-01')  godeclare @sql varchar(8000)set @sql = 'select id = 1'select @sql = @sql + ' , max(case aa when null then aa else '' '' end) [' + aa + ']'from (select distinct aa from tb) as aset @sql = @sql + ' from (select id = 1 , * from tb) t group by id'exec(@sql) drop table TB/*id          2007-01-01 2008-01-01 2009-01-01 2010-01-01 2011-01-01 ----------- ---------- ---------- ---------- ---------- ---------- 1                                                        */ 

热点排行