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

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

Susan Sarandon
Susan Sarandon원래의
2024-12-31 15:54:21596검색

How to Transform Rows into Columns in Oracle Using DECODE and PIVOT?

Oracle에서 행을 열로 변환하는 방법

Oracle에서는 데이터가 행으로 정렬되어 있지만 이를 필요로 하는 시나리오에 직면할 수 있습니다. 기둥형으로 표시됩니다. 이 문서에서는 DECODE 함수 또는 PIVOT 절을 사용하여 행을 열로 변환하는 방법을 자세히 설명합니다.

대출 세부 정보가 포함된 다음 표를 고려하세요.

LOAN NUMBER   DOCUMENT_TYPE                DOCUMENT_ID
992452533663  Voters ID                    XPD0355636
992452533663  Pan card                     CHXPS5522D
992452533663  Drivers license              DL-0420110141769

행을 열로 피벗하려면, 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 license', document_id)) AS drivers_licence
  FROM
    doc_tab
GROUP BY loan_number
ORDER BY loan_number;

이 쿼리는 다음을 생성합니다. 출력:

LOAN_NUMBER   VOTERS_ID            PAN_CARD             DRIVERS_LICENCE    
------------- -------------------- -------------------- --------------------
992452533663  XPD0355636           CHXPS5522D           DL-0420110141769     

Oracle 버전 11g 이상에서 PIVOT 절은 동일한 결과를 얻는 더 간단한 방법을 제공합니다.

SELECT *
  FROM doc_tab
PIVOT (
  MAX(document_id) FOR document_type IN ('Voters ID','Pan card','Drivers license')
);

두 방법 모두 효과적으로 행을 열로 피벗할 수 있습니다. 원하는 형식으로 데이터를 조작하고 표시할 수 있습니다.

위 내용은 DECODE 및 PIVOT을 사용하여 Oracle에서 행을 열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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