집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 열을 행으로 효율적으로 변환하려면 어떻게 해야 합니까?
SQL Server의 열 변환에 대한 심층 가이드
많은 수의 측정항목 열이 포함된 테이블로 작업할 때 이러한 열을 행으로 변환하면 분석 및 보고 목적으로 매우 유용할 수 있습니다. 이 변환에는 다른 스키마를 사용하여 새 테이블을 생성하기 위해 데이터를 재구성하는 작업이 포함됩니다.
문제 설명
다음 테이블 스키마를 고려하세요.
<code>[ID] [EntityID] [Indicator1] [Indicator2] [Indicator3] ... [Indicator150]</code>
목표는 이러한 측정항목 열을 행으로 변환하여 다음 스키마를 사용하여 새 테이블을 만드는 것입니다.
<code>[ID] [EntityId] [IndicatorName] [IndicatorValue]</code>
UNPIVOT을 이용한 솔루션
이 작업을 수행하는 우아한 솔루션은 UNPIVOT 기능을 활용하는 것입니다. UNPIVOT의 구문은 다음과 같습니다.
<code>UNPIVOT ([unpivot column] FOR [pivot column] IN ([pivot values]))</code>
이 예에서 unpivot 열은 표시기 값(예: "Indicator1", "Indicator2" 등)을 나타내고, 피벗 열은 열 이름 자체를 나타냅니다. 다음 쿼리는 UNPIVOT을 사용하는 방법을 보여줍니다.
<code>select id, entityId, indicatorname, indicatorvalue from yourtable unpivot ( indicatorvalue for indicatorname in (Indicator1, Indicator2, Indicator3) ) unpiv;</code>
이 쿼리를 실행하면 측정항목 열이 행으로 변환되고 측정항목 이름과 값이 새 열을 채웁니다.
대안
UNPIVOT 외에도 열을 행으로 변환하는 다른 방법이 있습니다.
솔루션 선택은 특정 요구 사항과 사용되는 SQL Server 버전에 따라 다릅니다.
위 내용은 SQL Server에서 열을 행으로 효율적으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!