2013-07-11 2 views
2

필자는 지난 며칠 동안 희망이없는 피벗/unpivot 항목을 이해하려고 노력하고 있습니다. 필자는 무엇이 피벗이고 피벗이 무엇인지 이해하지 못합니다. 나는이 표를 가지고있다 : 이 표는 Natalie_Playground라고 불린다.새 테이블에서 pivot/unpivot을 사용하는 SQL Server

BuildingName BillingMonth Consumption 

Building1  1/1/2011  59318 

Building2  1/1/2011  6962 

Building3  1/1/2011  204300 

Building4  1/1/2011  69600 

Building5  2/1/2011  47316 

Building6  2/1/2011  162300 

Building7  2/1/2011  7122 

Building8  2/1/2011  7444 
내 표는 다음과 같습니다 만들기 위해 피벗 또는 UNPIVOT을 사용하는 경우 나도 몰라

:

BuildingName January  February March .... December 

Building1  59318  47316 

Building2  6962   162300 

Building3  204300  162300 

Building4  69600  7444 
+0

단순히 PIVOT은 행에서 값을 가져 와서 열로 바꾸고, UNPIVOT은 그 반대입니다.이 경우 PIVOT은 사용자가 수행 한 것입니다. –

+0

구문을 보여 주시겠습니까 –

답변

4
당신은 컬럼에 데이터의 행을 변환 할 PIVOT 기능을 사용하기를 원할 것입니다

:

select buildingname, January, February, March, April 
from 
(
    select buildingname, 
    datename(month, billingmonth) month, 
    consumption 
    from yourtable 
) d 
pivot 
(
    sum(consumption) 
    for month in (January, February, March, April) 
) piv; 

SQL Fiddle with Demo을 참조하십시오. UNPIVOT 함수는 여러 열을 가져 와서 여러 행의 데이터로 변환하는 데 사용됩니다.

+0

Bluefeet 당신은 내 보호기, 정말 고마워요. 이것이 바로 제가 찾고있는 것입니다. –

관련 문제