部品カテゴリと関連する部品コストを含む一時テーブルがあります。
#part_costs
part_cat | part_cost
tire | 0
fuel | 24
wheel | 34
行数とその中の値#part_costs
は動的です。ピボットを作成しようとしているので、次のようになります(列の順序は関係ありません)。
tire | fuel | wheel
0 | 24 | 34
NVARCHAR(2000)
名前を保持するパーツカテゴリ変数を保持するテーブル変数を作成しました。
"[fuel],[tires],[wheel]"
これまでのところ、私のピボットについては
SELECT [fuel],[tires],[wheel] FROM (SELECT part_cat, part_cost FROM #part_costs ) p PIVOT ( [part_cost] FOR part_category IN ( [fuel],[tires],[wheel] )) AS pvt
しかし、これを機能させることはできません。これが配置されているストアドプロシージャを実行できますが、ストアドプロシージャを実行すると、次のエラーが発生します。Incorrect syntax near the keyword 'FOR'.
以前はselect 'part_cost' as costs, @part_names from (select part_cat, part_cost from #part_costs) as p PIVOT (part_cost for part_cat in (@part_names)) as PivotTable
、これではストアドプロシージャを実行することさえできませんでしたが、Incorrect syntax near the keyword 'for'.