纵表如何转换横表
如下id type field3
1 A 12
1 B 13
2 A a1
3 A n1
3 B n2
转换为
id field2 field3
1 12 13
2 a1
3 n1 n2 oracle版
纵表结构:
fname ftype fvalue
小明 zaocan 10
小明 zhongcan 20
小明 wancan 5
转换后的表结构:
fname zaocan_value zhongcan_value wancan_value
小明 10 20 5
纵表转横表sql如下:
select Fname, sum(case Ftype when 'zaocan' then Fvalue else 0 end) as zaocan_value,
sum(case Ftype when 'zhongcan' then Fvalue else 0 end) as zhongcan_value,
sum(case Ftype when 'wancan' then Fvalue else 0 end) as wancan_value from case_table group by Fname
但是一个条件fvalue是数值型的,如果不是数值型如何处理 ding 我的是要建个view给人用,所以才这么费事
页:
[1]