テーブルのレコードの値を列として自動的に転置するために提案した PIVOT ステートメントを適用することができました。
DECLARE @PivotColumnas VARCHAR(MAX)
SELECT @PivotColumnas = COALESCE (@PivotColumnas + ',[' + IB_PDSBATCHATTRIBIDBI + ']', '[' + IB_PDSBATCHATTRIBIDBI + ']') FROM PDSBATCHATTRIB
DECLARE @PivotTablaSQL NVARCHAR(MAX)
SET @PivotTablaSQL = N' SELECT *
FROM (SELECT INVENTBATCHID, ITEMID, PDSBATCHATTRIB.IB_PDSBATCHATTRIBIDBI, PDSBATCHATTRIBVALUE FROM PDSBATCHATTRIBUTES
LEFT JOIN PDSBATCHATTRIB ON PDSBATCHATTRIBUTES.IB_PDSBATCHATTRIBIDBI = PDSBATCHATTRIB.IB_PDSBATCHATTRIBIDBI) AS TablaOrigen
PIVOT
(MIN(PDSBATCHATTRIBVALUE)
FOR IB_PDSBATCHATTRIBIDBI IN ('+ @PivotColumnas + ')) AS PivotTable'
EXECUTE (@PivotTablaSQL)
必要なのは、結果をクエリとして保存する方法、またはこのクエリからテーブルを作成する方法です。結果をクエリとして保存しようとすると、次のエラーが発生します。
キーワード「DECLARE」付近の構文が正しくありません。
ありがとう!