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

sql 行转换为列的有关问题

2013-01-01 
sql行转换为列的问题我想把三个查询出来的结果进行横向拼接,这三个查询结果最多有一个或没有,例如:查询1:s

sql 行转换为列的问题
我想把三个查询出来的结果进行横向拼接,
这三个查询结果最多有一个或没有,
例如:
查询1:select a,b,c from tb where a='2011'
      结果:
              a     b   c
           2011  yy  zz

查询2:select a,b,c from tb where a='2012'
      结果:无


查询3:select a,b,c from tb where a='2013'
      结果:
              a     b   c
           2013  ee  rr
想要这样的结果:
a1    b1  c1  a2     b2    c2    a3    b3  c3
2011  yy  zz  null  null  null   2013  ee  rr
已想了好几天了,试了好多方法,求解!!!!!             
[解决办法]


select * from (select a,b,c from tb where a='2011')a left join 
(select a,b,c from tb where a='2012')b on 1=1 left join 
(select a,b,c from tb where a='2013')c on 1=1

热点排行