有表如下:
rq a b c d
2001-1-1 11 12 13 14
2001-1-2 21 22 23 24
2001-1-3 31 32 33 34
如何变为如下形式
name 2001-1-1 2001-1-2 2001-1-3
a 11 21 31
b 12 22 32
c 13 23 33
d 14 24 34
能不能不用存储过程达到目的?
...全文
6011打赏收藏
如何实行行列转换
有表如下: rq a b c d 2001-1-1 11 12 13 14 2001-1-2 21 22 23 24 2001-1-3 31 32 33 34 如何变为如下形式 name 2001-1-1 2001-1-2 2001-1-3 a 11 21 31 b 12 22 32 c 13 23 33 d 14 24 34 能不能不用存储过程达到目的?
很烦:
select 'a',sum(case rq when '2001-1-1' then a else 0 end),sum(case rq when '2001-1-2' then a else 0 end),sum (case rq when '2001-1-3' then a else 0 end)
group by 'a'
union all
select 'b',sum(case rq when '2001-1-1' then b else 0 end),sum(case rq when '2001-1-2' then b else 0 end),sum (case rq when '2001-1-3' then b else 0 end)
group by 'b'
union all
select 'c',sum(case rq when '2001-1-1' then c else 0 end),sum(case rq when '2001-1-2' then c else 0 end),sum (case rq when '2001-1-3' then c else 0 end)
group by 'c'