读书人

sql 行转换为列的有关问题

发布时间: 2013-01-01 14:04:18 作者: rapoo

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

读书人网 >SQL Server

热点推荐