ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 试验Oracle中实现行列转换的方法(转)

试验Oracle中实现行列转换的方法(转)

原创 Linux操作系统 作者:zhanglincon 时间:2009-04-13 21:07:16 0 删除 编辑
Create     table     test     (name     char(10),km     char(10),cj     Number)

insert     into     test     values('张三','语文',80)
insert     into     test     values('张三','数学',86)
insert     into     test     values('张三','英语',75)
insert     into     test     values('李四','语文',78)
insert     into     test     values('李四','数学',85)
insert     into     test     values('李四','英语',78)

commit;


怎样实现成这样:
name       语文       数学       英语
李四       78           85           83
张三       80           86           75

16:03:50     SQL>     select     *     from     test;

NAME                 KM                                     CJ
----------     ----------     ----------
张三                 语文                                 80
张三                 数学                                 86
张三                 英语                                 75
李四                 语文                                 78
李四                 数学                                 85
李四                 英语                                 78

已选择6行。

已用时间:       00:     00:     00.47



16:03:55     SQL>     select     name,sum(decode(trim(km),'语文',cj,0))     语文,
16:03:58         2       sum(decode(trim(km),'数学',cj,0))     数学,
16:03:58         3       sum(decode(trim(km),'英语',cj,0))     英语
16:03:59         4       from     test     group     by     name;

NAME                             语文                 数学                 英语
----------     ----------     ----------     ----------
李四                                 78                     85                     78
张三                                 80                     86                     75

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8554499/viewspace-588873/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 删除表空间
请登录后发表评论 登录
全部评论

注册时间:2009-03-24

  • 博文量
    79
  • 访问量
    206036