纵表转横表sql

来源:互联网 发布:算法初步 编辑:程序博客网 时间:2024/05/15 17:17

纵表结构:
     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