Publié par admin dans
피벗 열은 테이블이 회전할 지점이며 피벗 열 값은 출력 테이블의 열로 변환됩니다. 또한 IN 절을 사용하면 각 피벗 값에 대한 별칭을 지정할 수 있으므로 보다 의미 있는 열 이름을 쉽게 생성할 수 있습니다. 이 테이블을 일일 고온의 이전 테이블과 결합하려면 « Date » 열에 이 두 테이블을 조인할 수 있습니다. 그러나 날짜에 그룹화를 수행하는 피벗을 사용하므로 UNION ALL을 사용하여 두 테이블을 연결하기만 하면 됩니다. 나중에 이 방법을 사용하면 EmployeeID 열에서 반환되는 고유 값이 최종 결과 집합의 필드가 됩니다. 따라서 피벗 절에 지정된 각 EmployeeID 번호에 대한 열이 있습니다. PurchaseOrderID 열은 그룹화 열이라고 하는 최종 출력에서 반환된 열이 그룹화되는 값 열역할을 합니다. 이 경우 그룹화 열은 COUNT 함수에 의해 집계됩니다. 각 직원에 대한 COUNT를 계산할 때 PurchaseOrderID 열에 나타나는 null 값이 고려되지 않았음을 나타내는 경고 메시지가 나타납니다. 이 예제에서는 CASE 단원에서 사용한 대학 축구 선수의 데이터 집합을 사용합니다. 여기에서 직접 데이터를 볼 수 있습니다. UNPIVOT는 열을 행으로 회전하여 PIVOT의 거의 역방향 작업을 수행합니다. 이전 예제에서 생성된 테이블이 데이터베이스에 pvt로 저장되어 있고 열 식별자 Emp1, Emp2, Emp3, Emp4 및 Emp5를 특정 공급업체에 해당하는 행 값으로 회전한다고 가정합니다.
따라서 두 개의 추가 열을 식별해야 합니다. 회전하는 열 값(Emp1, Emp2,…)을 포함하는 열을 Employee라고 하며, 현재 회전중인 열 아래에 있는 값을 보유하는 열을 Orders라고 합니다. 이러한 열은 Transact-SQL 정의의 pivot_열 및 value_열에 각각 해당합니다. 다음은 쿼리입니다. 위의 예제에서는 PIVOT 절에서 사용되는 하나의 집계 식만 보여 주지만 실제로 사용자는 필요한 경우 여러 집계 식을 지정할 수 있습니다. 다시, 위의 날씨 데이터와 함께, 우리는 6 월과 9 월 사이 평균 높은 온도 함께 최대 높은 온도 나열할 수 있습니다. 이것은 초보자를위한 피벗 쿼리의 매우 간단한 예입니다. 데이터를 행 수준에서 열 데이터로 변환해야 하는 경우 피벗 쿼리를 사용합니다. 이제 이상적으로는 이전 섹션에서 만든 기본 데이터에 피벗 연산을 직접 적용할 수 있지만 불행히도 는 할 수 없습니다.