ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 行列转换的一个例子

行列转换的一个例子

原创 Linux操作系统 作者:foxmile 时间:2008-03-06 14:16:05 0 删除 编辑
SQL> create table abcd(po_num number,release_num number,transacton_type varchar2(20),quantity number);

表已创建。

SQL> insert into abcd values(19,1,'RECEIVE',5);

已创建 1 行。


Execution Plan
----------------------------------------------------------
   0      INSERT STATEMENT ptimizer=CHOOSE




Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          0  consistent gets
          0  physical reads
          0  redo size
          0  bytes sent via SQL*Net to client
          0  bytes received via SQL*Net from client
          0  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed

SQL> SET autotrace off;
SQL> insert into abcd values(19,1,'ACCEPT',5);

已创建 1 行。

SQL> insert into abcd values(19,2,'ACCEPT',2);

已创建 1 行。

SQL> insert into abcd values(19,2,'RECEIVE',2);

已创建 1 行。

SQL> insert into abcd values(19,2,'DELIVER',2);

已创建 1 行。

SQL> insert into abcd values(19,3,'TRANSFER',2);

已创建 1 行。

SQL> insert into abcd values(19,3,'REJECT',2);

已创建 1 行。

SQL> insert into abcd values(19,3,'RECEIVE',11);

已创建 1 行。

SQL> insert into abcd values(19,3,'ACCEPT',9);

已创建 1 行。

SQL> COMMIT;

提交完成。

SQL> select po_num,release_num,MAX(DECODE(TRANSACTON_TYPE,'RECEIVE',quantity,0)) c1,
  2  MAX(DECODE(TRANSACTON_TYPE,'ACCEPT',quantity,0)) c2,
  3  MAX(DECODE(TRANSACTON_TYPE,'REJECT',quantity,0)) c3 From abcd Group By po_num,release_num;

    PO_NUM RELEASE_NUM         C1         C2         C3
---------- ----------- ---------- ---------- ----------
        19           1          5          5          0
        19           2          2          2          0
        19           3         11          9          2

SQL>

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

请登录后发表评论 登录
全部评论

注册时间:2007-12-10

  • 博文量
    106
  • 访问量
    200065