当前位置: 代码迷 >> Oracle开发 >> 请教一个表结构有关问题
  详细解决方案

请教一个表结构有关问题

热度:344   发布时间:2016-04-24 08:04:30.0
请教一个表结构问题。
现在有表中nd,yf,bumen,shuliang,xiaoshou_dm这5列。用来统计某年某月某部门某xiaoshou_dm的数量。xiaoshou_dm这列里面有5种值a,b,c,d,e
我能不能通过视图把这个表的结构变成nd,yf,bumen,dm_a,dm_b,dm_c,dm_d,dm_e这种结构,dm_a,dm_b,dm_c,dm_d,dm_e这5列里放的是某部门的数量。
谢谢各位了!

------解决方案--------------------
SQL code
select nd,yf,bumen,        sum(case when xiaoshou_dm = 'a' then shuliang else 0) end dm_a,        sum(case when xiaoshou_dm = 'b' then shuliang else 0) end dm_b,        sum(case when xiaoshou_dm = 'c' then shuliang else 0) end dm_c,        sum(case when xiaoshou_dm = 'd' then shuliang else 0) end dm_d,        sum(case when xiaoshou_dm = 'e' then shuliang else 0) end dm_e,  from t group by nd,yf,bumen
------解决方案--------------------
典型行列转换,使用decode,case函数都是可以的
------解决方案--------------------
可以自己写个通用的function
  相关解决方案