2

MS Access クロス タブ クエリを SQL Server ストアド プロシージャに変換しようとしていますが、SQL Server でのデータのピボットに問題があります。

変換したいMS Accessクロスクエリは次のとおりです-

TRANSFORM Sum(NZ(Actuals!Amount,0)) AS Amount
SELECT Actuals.PS_OV, Actuals.Period, Actuals.Program, Actuals.Actuals_Year
FROM Actuals
GROUP BY Actuals.PS_OV, Actuals.Period, Actuals.Program, Actuals.Actuals_Year
PIVOT Actuals.Source;   

列の値Source(つまりEquipment, Expense, Furniture, Leasehold) が列にピボットされます。SQL Server ストアド プロシージャでこれを行う方法を教えてください。

どうもありがとう。

4

1 に答える 1

3

SQL Server では、次のPIVOTようになります。

SELECT *
FROM 
(
  SELECT PS_OV
    , Period
    , Program
    , Actuals_Year
    , IsNull(Amount, 0) as Amount
    , Source
  FROM Actuals
) x
PIVOT
(
  Sum(Amount)
  FOR Source IN ([Equipment], [Expense], [Furniture], [Leasehold])
) p
于 2012-07-26T10:28:55.303 に答える