여러 행과 열이 있는 테이블 데이터를 더 읽기 쉬운 열 구조로 변환하는 데 어려움을 겪고 계십니까? Oracle 데이터베이스는 이 작업을 단순화하는 강력한 기술을 제공합니다.
다음과 같은 대출 정보와 문서가 포함된 테이블이 있다고 가정해 보겠습니다.
LOAN NUMBER | DOCUMENT_TYPE | DOCUMENT_ID ------------------------------------------ 992452533663 | Voters ID | XPD0355636 992452533663 | Pan card | CHXPS5522D 992452533663 | Drivers licence | DL-0420110141769
이러한 행을 구조화된 열로 변환하려면 다음을 수행합니다. Oracle 10g의 DECODE 함수나 Oracle 11g에 도입된 PIVOT 절을 활용하세요.
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 함수를 사용하여 특정 문서 유형에 따라 원하는 열에 값을 할당합니다. 그런 다음 MAX 함수는 각 열에 대해 일치하는 문서 ID를 반환합니다.
SELECT * FROM doc_tab PIVOT ( MAX(document_id) FOR document_type IN ('Voters ID','Pan card','Drivers licence') );
PIVOT 절은 문서 유형을 열로 정렬하고 해당 문서 ID를
이러한 기술을 활용하면 데이터를 열 중심의 레이아웃으로 효율적으로 재구성할 수 있습니다. 이해하고 추가로 분석합니다.
위 내용은 Oracle에서 행을 열로 효율적으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!