집 >데이터 베이스 >MySQL 튜토리얼 >DECODE 및 PIVOT을 사용하여 Oracle에서 행을 열로 변환하는 방법은 무엇입니까?
Oracle에서 행을 열로 변환: DECODE 및 PIVOT 활용
문제:
변환 여러 문서 유형과 대출 번호와 관련된 ID를 열 형식으로 나타내는 행이 있는 테이블 형식. 결과 테이블에는 각 대출 번호에 대한 단일 행과 각 문서 유형 및 해당 ID에 대한 열이 있어야 합니다.
예:
입력 테이블:
LOAN NUMBER | DOCUMENT_TYPE | DOCUMENT_ID |
---|---|---|
992452533663 | Voters ID | XPD0355636 |
992452533663 | Pan card | CHXPS5522D |
992452533663 | Drivers licence | DL-0420110141769 |
원하는 출력:
LOAN NUMBER | VOTERS_ID | PAN_CARD | DRIVERS LICENCE |
---|---|---|---|
992452533663 | XPD0355636 | CHXPS5522D | DL-0420110141769 |
Oracle 솔루션:
DECODE 방법:
SELECT loan_number, MAX(DECODE(document_type, 'Voters ID', document_id)) AS voters_id, MAX(DECODE(document_type, 'Pan card', document_id)) AS pan_card, MAX(DECODE(document_type, 'Drivers licence', document_id)) AS drivers_licence FROM input_table GROUP BY loan_number ORDER BY loan_number;
PIVOT 절(Oracle 11g):
SELECT * FROM input_table PIVOT ( MAX(document_id) FOR document_type IN ('Voters ID','Pan card','Drivers licence') );
두 가지 방법 모두 효과적으로 행을 열로 바꾸어 원하는 결과를 얻습니다. Oracle DECODE 및 PIVOT에 대한 자세한 내용은 참조 링크를 살펴보세요.
위 내용은 DECODE 및 PIVOT을 사용하여 Oracle에서 행을 열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!