집 >데이터 베이스 >MySQL 튜토리얼 >DECODE 및 PIVOT을 사용하여 Oracle에서 행을 열로 변환하는 방법은 무엇입니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!