行列轉換的一個例子
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>
表已建立。
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 幾個行列轉換的實用小例子
- 一個sql的行列轉置的例子SQL
- 記錄一個行列轉換
- 行列轉換
- Kettle行列轉換
- 偽行列轉換!
- 行列轉換sqlSQL
- 複雜的行列轉換
- 通用的行列轉換的方法
- 行列轉換 交叉表 (轉)
- Oracle-行列轉換Oracle
- MySQL行列轉換拼接MySql
- 行列轉換之大全~~~
- sql server 行列轉換SQLServer
- oracle和mysql的行列轉換OracleMySql
- oracle行列轉換-多行轉換成字串Oracle字串
- 行列轉換,列行轉換統計
- 使用vue實現行列轉換的一種方法。Vue
- oracle行列轉換-行轉列Oracle
- oracle行列轉換-列轉行Oracle
- mysql行列轉換詳解MySql
- sql server行列轉換案例SQLServer
- Oracle 行列轉換 經典Oracle
- Oracle 行列轉換總結Oracle
- Oracle 行列轉換小結Oracle
- 【SQL 學習】行列轉換SQL
- 【SQL】行列轉換方法示例SQL
- Oracle行列轉換總結Oracle
- Shell練習 行列轉換
- oracle行列轉換-字串轉換成多列Oracle字串
- oracle行列轉換-多列轉換成字串Oracle字串
- 使用sed做特殊的行列轉換
- sql 實現表的行列轉換SQL
- 一個可逆加密的例子 (轉)加密
- 行列轉換問題總結
- Oracle11新特性——行列轉換語句(一)Oracle
- Oracle行列轉換及pivot子句的用法Oracle
- pivot、unpivot實現oracle行列轉換Oracle