> 데이터 베이스 > MySQL 튜토리얼 > DECODE 또는 PIVOT을 사용하여 Oracle에서 행을 열로 효율적으로 피벗하는 방법은 무엇입니까?

DECODE 또는 PIVOT을 사용하여 Oracle에서 행을 열로 효율적으로 피벗하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2025-01-01 10:02:12
원래의
622명이 탐색했습니다.

How to Efficiently Pivot Rows into Columns in Oracle Using DECODE or PIVOT?

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿