>데이터 베이스 >MySQL 튜토리얼 >DECODE 및 PIVOT을 사용하여 Oracle에서 행을 열로 변환하는 방법은 무엇입니까?

DECODE 및 PIVOT을 사용하여 Oracle에서 행을 열로 변환하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-04 04:40:43226검색

How to Convert Rows to Columns in Oracle Using DECODE and PIVOT?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.