当前位置: 代码迷 >> Oracle管理 >> 求一条sql解决方法
  详细解决方案

求一条sql解决方法

热度:51   发布时间:2016-04-24 04:27:58.0
求一条sql

------解决方案--------------------
引用:


with t as
 (select 'zhangsan' stu, 'math' sub, 70 score
    from dual
  union all
  select 'zhangsan' stu, 'english' sub, 70 score
    from dual
  union all
  select 'zhangsan' stu, 'chinese' sub, 70 score
    from dual
  union all
  select 'lisi' stu, 'chinese' sub, 70 score
    from dual
  union all
  select 'lisi' stu, 'math' sub, 70 score
    from dual
  union all
  select 'lisi' stu, 'english' sub, 70 score
    from dual
  union all
  select 'wangwu' stu, 'english' sub, 70 score
    from dual
  union all
  select 'wangwu' stu, 'math' sub, 70 score
    from dual
  union all
  select 'wangwu' stu, 'chinese' sub, 70 score from dual)
select stu,
       sum(decode(sub, 'chinese', score, null)) chinese,
       sum(decode(sub, 'math', score, null)) math,
       sum(decode(sub, 'english', score, null)) english
  from t
 group by t.stu
  相关解决方案