더 자세한 내용은 아래 페이지에서 확인 하실 수 있습니다.
http://www.soqool.com/servlet/board?cmd=view&cat=100&subcat=1010&seq=77
아래 쿼리는 정렬의 문제가 있는 것으로 확인되었습니다.
from 절의 dept 테이블과 인라인뷰의 순서를 바꾸도록 하겠습니다.
SELECT DECODE (MOD (ROWNUM - 1, 3) + 1, 1, TO_CHAR (deptno), 2, dname, 3, loc)
FROM (SELECT 1
FROM DUAL
CONNECT BY LEVEL <= 3), dept
====================================================
column-to-row pivot 쿼리 라고 명칭을 붙여보면 어떨까요?
쉬운 쿼리입니다.
오라클 demo 테이블 중에 하나인 dept 를 가지고
각 row의 column들을 전부 row로 만들어 봅니다.
SELECT DECODE (MOD (ROWNUM, 3), 1, TO_CHAR (deptno), 2, dname, 0, loc)
FROM dept, (SELECT LEVEL level#
FROM DUAL
CONNECT BY LEVEL <= 3)
또는
SELECT DECODE (MOD (LEVEL, 3), 1, TO_CHAR (deptno), 2, dname, 0, loc)
FROM dept
CONNECT BY LEVEL <= 3
GROUP BY deptno, dname, loc, LEVEL
첫번째 것이 속도는 더 빠르겠습니다.
응용 예는 아래 페이지에서 확인하시기 바랍니다.
http://www.orafaq.com/forum/t/58454/78939/