記錄一個行列轉換

zhang41082發表於2019-03-18

昨天在pub問了個行列轉換的問題,有大俠提出瞭解決辦法,複製作來,做個記錄吧。

實現了把其中兩列分別與其他列進行組合,然後把一行資料轉化成兩行,轉換後的資料量是現在的兩倍。

[@more@]

SQL> select empno, ename, job from emp where deptno = 10;



EMPNO ENAME JOB
---------- ---------- ---------

7782 CLARK MANAGER

7839 KING PRESIDENT

7934 MILLER CLERK



SQL
> select b.empno, decode(a.rn,1,b.ename,b.job) info from

2
(select rownum rn from dual connect by rownum <= 2) a, emp b

3 where b
.deptno = 10;



EMPNO INFO
---------- ----------

7782 CLARK

7782 MANAGER

7839 KING

7839 PRESIDENT

7934 MILLER

7934 CLERK



6 rows selected
.

解決思路就是構造一個序列,然後做一個全連線,根據這個序列的值來判斷進行取值。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25016/viewspace-908637/,如需轉載,請註明出處,否則將追究法律責任。

相關文章