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