【发布时间】:2018-09-24 19:51:38
【问题描述】:
我正在尝试将 sql 动态的结果插入到临时表中,但出现语法错误。我已经研究过,但我无法弄清楚我在这里做错了什么
DECLARE @DynamicPivotQuery AS NVARCHAR(MAX)
DECLARE @ColumnName AS NVARCHAR(MAX)
--Get distinct values of the PIVOT Column
SELECT @ColumnName = ISNULL(@ColumnName + ',','') + QUOTENAME([month])
FROM (SELECT DISTINCT [Month] FROM MyTable) AS [Month]
order by [month]
--Prepare the PIVOT query using the dynamic
SET @DynamicPivotQuery =
N'SELECT Mem_Name, ' + @ColumnName + '
FROM MyTable into MyTest
PIVOT(SUM(Amount)
FOR Month IN (' + @ColumnName + ')) AS PVTTable'
--Execute the Dynamic Pivot Query
EXEC sp_executesql @DynamicPivotQuery
【问题讨论】:
-
您有足够的代表知道当您遇到错误时应该分享错误消息。并提供一些细节,以便其他人可以提供帮助。 Here 是一个很好的起点。
-
你的诱惑在哪里?您没有在此脚本中插入任何内容。你的错误是什么?这会很有帮助
-
哪个语句有语法错误,错误“near”是什么字符?
-
我已经更新了我的代码以显示我试图插入 MyTest 表的位置
-
这是我在帖子中提到的语法错误,它准确地说是“'myTest' 附近的语法不正确。”
标签: sql sql-server tsql