>데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 여러 열을 동적으로 피벗하려면 어떻게 해야 합니까?

SQL Server에서 여러 열을 동적으로 피벗하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-04 01:42:40870검색

How Can I Dynamically Pivot Multiple Columns in SQL Server?

SQL Server의 여러 열이 있는 동적 피벗

SQL Server에서 데이터를 피벗하면 행을 열로 바꿀 수 있어 보다 직관적인 데이터 사용이 가능합니다. 분석. 여러 열을 처리할 때 동적 접근 방식을 사용하면 열 이름이나 값 변경에 대응할 수 있습니다.

데이터 피벗 해제

여러 열이 있는 데이터를 동적으로 피벗하려면 피벗 해제부터 시작하세요. UNPIVOT 함수 또는 CROSS APPLY를 사용하여 관련 열을 삭제합니다. 이 프로세스는 여러 열을 행으로 변환하여 조작하기 쉽게 만듭니다.

동적 PIVOT 함수

피벗이 해제되면 PIVOT 함수를 사용하여 피벗된 테이블을 생성할 수 있습니다. 그러나 PIVOT 함수의 열 이름은 피벗되지 않은 데이터와 일치해야 합니다. 이를 동적으로 달성하려면 다음 단계를 사용하여 열의 값을 해당 메타데이터와 연결하십시오.

  1. 피벗할 열을 선택하고 @cols 변수에 연결된 이름을 지정하십시오.
  2. 연결된 열 이름을 통합하여 @query 변수에 동적 쿼리를 구성합니다.
  3. sp_executesql을 사용하여 실행합니다. 동적 SQL 쿼리를 실행하고 피벗된 결과를 얻습니다.

연도, 유형, 합계 및 볼륨 열이 있는 다음 샘플 테이블을 고려하세요.

ID YEAR TYPE TOTAL VOLUME
DD1 2008 A 1000 10
DD1 2008 B 2000 20
DD1 2008 C 3000 30

동적 피벗 접근 방식을 사용하면 다음과 같이 피벗 테이블을 만들 수 있습니다. 구조:

ID 2008_A_Total 2008_A_Volume 2008_B_Total 2008_B_Volume 2008_C_Total 2008_C_Volume
DD1 1000 10 2000 20 3000 30

비피봇팅과 동적 피벗 기술을 결합하면 SQL Server의 다양한 열이 있는 데이터를 효과적으로 변환하고 분석할 수 있습니다.

위 내용은 SQL Server에서 여러 열을 동적으로 피벗하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.