집계 함수가 없는 T-SQL PIVOT 연산
일반적으로 집계 함수가 필요한 PIVOT 작업과 달리 PIVOT 변환은 집계 함수 없이도 수행할 수 있습니다. 이는 집계 없이 데이터 재구성이 필요한 특정 시나리오에서 발생할 수 있습니다.
다음 형식을 고려하세요.
CustomerID | DBColumnName | Data |
---|---|---|
1 | FirstName | Joe |
1 | MiddleName | S |
1 | LastName | Smith |
1 | Date | 12/12/2009 |
2 | FirstName | Sam |
2 | MiddleName | S |
2 | LastName | Freddrick |
2 | Date | 1/12/2009 |
3 | FirstName | Jaime |
3 | MiddleName | S |
3 | LastName | Carol |
3 | Date | 12/1/2009 |
이 데이터를 다음 결과로 전환하는 것이 목표입니다.
CustomerID | FirstName | MiddleName | LastName | Date |
---|---|---|---|---|
1 | Joe | S | Smith | 12/12/2009 |
2 | Sam | S | Freddrick | 1/12/2009 |
3 | Jaime | S | Carol | 12/1/2009 |
집계 함수 없이 PIVOT을 사용하여 이를 달성하려면 다음 쿼리를 사용할 수 있습니다.
<code class="language-sql">SELECT CustomerID, MIN(CASE DBColumnName WHEN 'FirstName' THEN Data END) AS FirstName, MIN(CASE DBColumnName WHEN 'MiddleName' THEN Data END) AS MiddleName, MIN(CASE DBColumnName WHEN 'LastName' THEN Data END) AS LastName, MIN(CASE DBColumnName WHEN 'Date' THEN Data END) AS Date FROM table GROUP BY CustomerId;</code>
이 쿼리는 PIVOT 작업에서 Case 문을 실행하여 지정된 CustomerID에 대한 각 DBColumnName의 최소값을 선택합니다. 각 CustomerID 및 DBColumnName 조합에 대해 하나의 데이터 행만 있으므로 MIN 함수는 필요한 값을 반환합니다.
위 내용은 집계 함수 없이 T-SQL PIVOT 작업을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!