有张CJ表如图
Name Subject Score
张三 语文 23
张三 数学 76
张三 物理 46
李四 语文 35
李四 数学 78
李四 物理 77要求你实现如下效果:
姓名 语文 数学 物理
张三 23 76 46
李四 35 78 77

解决方案 »

  1.   


    select name,
           sum(decode(subject, '语文', score, null)) "语文",
           sum(decode(subject, '数学', score, null)) "数学",
           sum(decode(subject, '物理', score, null)) "物理"
      from cj
     group by name
      

  2.   


    select  name 姓名,
    max(decode(subject, '语文', score)) 语文,
    max(decode(subject, '数学', score)) 数学,
    max(decode(subject, '物理', score)) 物理
    from cj
    group by name; 
      

  3.   

    select name,
           sum(decode(subject, '语文', score, null)) "语文",
           sum(decode(subject, '数学', score, null)) "数学",
           sum(decode(subject, '物理', score, null)) "物理"
      from cj
     group by name