DECLARE @myTable TABLE(
Name VARCHAR(50),
Year INT,
Hours INT)
INSERT INTO @myTable *.... some values*
DECLARE @var INT
SET @var = 2015
DECLARE @DynamicPivot VARCHAR(MAX)
SET @DynamicPivot = 'SELECT * FROM
@myTable PIVOT(SUM(Hours) FOR Year IN (' + @var + ')) AS PvtTable
EXEC sp_executesql @DynamicPivot
私は動的テーブルを作成し、ピボットを使用してテーブルを回転しようとしています。 @varの値は、動的テーブルYear INT
に既に存在する値です。私は動的なピボットを実行しようとする場合を除いてすべてうまく動作します。それは、私が同じコードを同時に実行しているにもかかわらず、@myTable
が宣言されていないというエラーを私に与えます。私は本当に問題を見つけることができないため、ピボット宣言に問題があります。何か案は?テーブル変数 "@myTable"を宣言する必要があります
ダイナミクスクエリを使用する理由は何ですか? @varはどこから来ましたか? – qxg
動的クエリの外部で宣言された変数は、動的クエリで使用できません。ここでは動的クエリの必要性がわかりません – Raj
'sp_executesql'で実行される動的SQLは、残りのSQLとは別のバッチで実行されます。 –