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