PRACTICE
2012.02.12 01:42

열->행 변환 사례 3

댓글 0조회 수 21600
?

단축키

이전 문서

다음 문서

+ - Up Down Comment Print
?

단축키

이전 문서

다음 문서

+ - Up Down Comment Print

열을 행으로 변환 (max 함수)
 
1.Max 함수를 이용한 쿼리

CREATE TABLE TEMP
(
  DATA1  VARCHAR2(10),
  DATA2  VARCHAR2(10),
  DATA3  VARCHAR2(10),
  DATA4  VARCHAR2(10),
  DATA5  VARCHAR2(10),
  DATA6  VARCHAR2(10)
)


Insert into UMSDB.TEMP   (DATA1, DATA2, DATA3, DATA4, DATA5, DATA6) Values   ('A', '1', '1', '1', '사과  ', '수박');
Insert into UMSDB.TEMP   (DATA1, DATA2, DATA3, DATA4, DATA5, DATA6) Values   ('A', '1', '2', '1', '배    ', '수박');
Insert into UMSDB.TEMP   (DATA1, DATA2, DATA3, DATA4, DATA5, DATA6) Values   ('A', '1', '3', '1', '바나나', '수박');
Insert into UMSDB.TEMP   (DATA1, DATA2, DATA3, DATA4, DATA5, DATA6) Values   ('A', '1', '3', '2', '귤    ', '수박');
 Insert into UMSDB.TEMP   (DATA1, DATA2, DATA3, DATA4, DATA5, DATA6) Values   ('A', '1', '3', '3', '귤2   ', '수박');
Insert into UMSDB.TEMP   (DATA1, DATA2, DATA3, DATA4, DATA5, DATA6) Values   ('A', '1', '3', '4', '귤1   ', '수박');
 

 

 

SELECT
     A.DATA1,A.DATA2,A.DATA3,
     MAX(DECODE(R-R1,0,DATA5))MINOR1,
     MAX(DECODE(R-R1,0,DATA6))MINOR2,
     MAX(DECODE(R-R1,1,DATA5))MINOR3,
     MAX(DECODE(R-R1,1,DATA6))MINOR4,
     MAX(DECODE(R-R1,2,DATA5))MINOR5,
     MAX(DECODE(R-R1,2,DATA6))MINOR6,
     MAX(DECODE(R-R1,3,DATA5))MINOR7,
     MAX(DECODE(R-R1,3,DATA6))MINOR8
FROM (SELECT
                ROWNUM R, DATA1, DATA2, DATA3, DATA4, DATA5, DATA6
           FROM TEMP) A,
           (SELECT
                MIN(ROWNUM)R1, DATA1, DATA2, DATA3
            FROM TEMP GROUP BY DATA1, DATA2, DATA3) B
WHERE A.DATA1 = B.DATA1
    AND A.DATA2 = B.DATA2
    AND A.DATA3 = B.DATA3
GROUP BY A.DATA1, A.DATA2, A.DATA3

 


" MAX(DECODE(R-R1,행의수,DATA5))MINOR||행의수  " 를 추가

 

출처 : http://www.oracleclub.com  에서 추출한 내용을 가지고 약간 수정했음.


번호 분류 제목 글쓴이 날짜
9 PRACTICE SQL*Plus에서 &(Ampersand)/특수문자/Escape 사용법  secret 김형조 2013.09.27
8 FUNCTIONS 함수목록   김형조 2012.02.21
7 DBA_ DBA HIST Views - 11.2.0.1   김형조 2012.02.16
6 PRACTICE Not Exists 를 이용한 차집합 데이터 Insert   관리자 2012.02.12
» PRACTICE 열->행 변환 사례 3   관리자 2012.02.12
4 PRACTICE WMSYS.WM_CONCAT vs ListAgg [1]   관리자 2012.02.12
3 PRACTICE 오라클 여러 행을 1개의 문자열로 SELECT   관리자 2012.02.12
2 PRACTICE 행 -> 열 변환 사례 2   관리자 2012.02.12
1 PRACTICE 열->행 변환 사례 1   관리자 2012.02.12
Board Pagination ‹ Prev 1 Next ›
/ 1
Designed by hikaru100

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

SketchBook5,스케치북5

SketchBook5,스케치북5

SketchBook5,스케치북5

SketchBook5,스케치북5

O R A C L E L A B 로그인 :)