2

言うまでもなく、私は過去数日間のピボット/アンピボットのトピックを理解しようとしていますが、希望はありません. ピボットとアンピボットがわかりません。私はこのテーブルを持っています: このテーブルは と呼ばれていNatalie_Playgroundます。

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

テーブルを次のようにするには、ピボットまたはアンピボットを使用する必要があるかどうかわかりません。

BuildingName    January      February    March  .... December

Building1       59318        47316

Building2       6962         162300

Building3       204300       162300

Building4       69600        7444
4

1 に答える 1

5

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 関数は、複数の列を取り、それらを複数のデータ行に変換するために使用されます。

于 2013-07-11T15:54:49.137 に答える