ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 基本的行列转换

基本的行列转换

原创 Linux操作系统 作者:tyoodz 时间:2011-11-25 21:09:57 0 删除 编辑
SQL> create table work_rec
  2  (id number, name varchar2(9), type varchar2(9), done number);

表已创建。

SQL> insert into work_rec values (1,'ty','oracle',10);

已创建 1 行。

SQL> insert into work_rec values (1,'ty','sql',20);

已创建 1 行。

SQL> insert into work_rec values (1,'ty','plsql',20);

已创建 1 行。

SQL> insert into work_rec values (2,'penzi','oracle',40);

已创建 1 行。

SQL> insert into work_rec values (2,'penzi','plsql',40);

已创建 1 行。

SQL> insert into work_rec values (2,'penzi','sql',60);

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from work_rec;

        ID NAME               TYPE                     DONE
---------- ------------------ ------------------ ----------
         1 ty                 oracle                     10
         1 ty                 sql                        20
         1 ty                 plsql                      20
         2 penzi              oracle                     40
         2 penzi              plsql                      40
         2 penzi              sql                        60

已选择6行。

SQL> select name,
  2  max(decode(type,'oracle',done)),
  3  max(decode(type,'sql',done)) sql,
  4  max(decode(type,'plsql',done)) plsql
  5  from work_rec group by name;

NAME               MAX(DECODE(TYPE,'ORACLE',DONE))        SQL      PLSQL
------------------ ------------------------------- ---------- ----------
ty                                              10         20         20
penzi                                           40         60         40

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

上一篇: merge的基本用法
下一篇: 绑定变量的缺点
请登录后发表评论 登录
全部评论

注册时间:2011-05-16

  • 博文量
    55
  • 访问量
    87644