次のコードを実行してデータセットをトランスポーズすると、テンポラリテーブルに出力を保存したいので、スクリプトの外で 'select * from #table'のようなコードを実行できます。結果を確認してください。どんな助けもありがとう。動的SQLのテンポラリテーブルへの出力
データ:
TimeSeconds TagID Value
1378700244 A1 3.75
1378700245 A1 30
1378700304 A1 1.2
1378700305 A2 56
1378700344 A2 11
1378700345 A3 0.53
1378700364 A1 4
1378700365 A1 14.5
1378700384 A1 144
1378700384 A4 10
コード:
DECLARE @cols NVARCHAR(MAX), @sql NVARCHAR(MAX)
SET @cols = STUFF((SELECT DISTINCT ',' + QUOTENAME(TagID)
FROM Table1
ORDER BY 1
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)'),1,1,'')
SET @sql = 'SELECT TimeSeconds, ' + @cols + '
FROM
(
SELECT TimeSeconds, TagID, Value
FROM table1
) s
PIVOT
(
MAX(Value) FOR TagID IN (' + @cols + ')
) p'
EXECUTE(@sql)
構文に基づいてSql-Serverタグを追加しました。編集して、バージョン固有のタグも追加してください。 –
また、列リストがあらかじめわからないため、問題が発生する可能性があります。 –