> 데이터 베이스 > MySQL 튜토리얼 > PIVOT 연산자를 사용하여 SQL Server에서 데이터를 전치하는 방법은 무엇입니까?

PIVOT 연산자를 사용하여 SQL Server에서 데이터를 전치하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-25 04:58:20
원래의
473명이 탐색했습니다.

How to Transpose Data in SQL Server Using the PIVOT Operator?

PIVOT을 사용하여 SQL Server 데이터를 변환하는 방법

SQL Server의 PIVOT 연산자를 사용하면 행을 열로 변환하여 데이터를 열로 변환할 수 있습니다. 수직 방향 형태에서 수평 방향 형태로. 이는 여러 속성을 기반으로 데이터를 요약하려고 할 때 유용할 수 있습니다.

예제 데이터 및 원하는 출력

다음 시작 데이터세트를 고려하세요.

SELECT Name1, Name2, Value FROM mytable

Name1 | Name2 | Value
-------+-------+------
A      | P1     | 1
A      | P2     | 1
A      | P3     | 2
B      | P1     | 3
B      | P2     | 1
B      | P4     | 1
로그인 후 복사

원하는 출력은 PIVOT 연산자가 Name1 열 값을 열 머리글로 변환하고 Value의 값을 변환하도록 데이터를 피벗하는 것입니다. 열은 Name2 열로 요약됩니다.

SQL Server 2005에서 PIVOT을 사용하여 데이터 전치

SQL Server 2005의 경우 PIVOT 연산자를 다음과 같은 방식으로 사용할 수 있습니다.

DECLARE @cols VARCHAR(1000)
DECLARE @sqlquery VARCHAR(2000)

SELECT  @cols = STUFF(( SELECT distinct  ',' + QuoteName([Name1])
                        FROM myTable FOR XML PATH('') ), 1, 1, '') 


SET @sqlquery = 'SELECT * FROM
      (SELECT Name2, Name1, Value
       FROM myTable ) base
       PIVOT (Sum(Value) FOR [Name1]
       IN (' + @cols + ')) AS finalpivot'

EXECUTE ( @sqlquery )
로그인 후 복사

이 쿼리는 Name1 열, 열 머리글을 조합하고 이에 따라 데이터를 요약합니다. 최종적으로 원하는 형식의 데이터가 변환됩니다.

P1      P2      P3      P4
-------+-------+-------+-------
1       1       2       NULL
3       1       NULL    1
로그인 후 복사

위 내용은 PIVOT 연산자를 사용하여 SQL Server에서 데이터를 전치하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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