집 >데이터 베이스 >MySQL 튜토리얼 >DECODE 또는 PIVOT을 사용하여 Oracle에서 행을 열로 효율적으로 피벗하는 방법은 무엇입니까?
Oracle에서 행을 열로 변환
데이터 테이블에는 개별 엔터티에 대한 정보가 여러 행에 걸쳐 분산되어 있는 경우가 많습니다. 데이터 가독성과 분석을 향상시키려면 이러한 행을 열로 변환하는 것이 도움이 될 수 있습니다. 이 질문은 단일 대출 번호에 대한 문서 정보가 포함된 테이블을 보다 사용자 친화적인 형식으로 변환하는 실제 사용 사례를 보여줍니다.
Oracle에서는 DECODE 함수 또는 PIVOT을 사용하여 행을 열로 효율적으로 피벗할 수 있습니다. 절. 질문에 제시된 문제를 해결하기 위해 이러한 방법을 사용하는 방법을 살펴보겠습니다.
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 doc_tab GROUP BY loan_number ORDER BY loan_number;
이 쿼리는 DECODE 함수를 사용하여 document_id 값을 document_type에 따라 적절한 열에 추가합니다. MAX() 집계 함수는 각 문서 유형에 대한 가장 최근 document_id를 검색하는 데 사용됩니다.
PIVOT 절 사용 (Oracle 11g에서 사용 가능)
SELECT * FROM doc_tab PIVOT ( MAX(document_id) FOR document_type IN ('Voters ID','Pan card','Drivers licence') );
PIVOT 절은 행을 열로 피벗하는 보다 간결한 방법을 제공합니다. 집계 함수(이 경우 MAX)와 피벗할 열을 지정해야 합니다.
두 접근 방식 모두 효과적으로 행을 열로 변환하여 각 대출 번호에 대한 문서 정보를 보다 직관적이고 체계적으로 볼 수 있습니다.
위 내용은 DECODE 또는 PIVOT을 사용하여 Oracle에서 행을 열로 효율적으로 피벗하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!