Вставить в временную таблицу из динамических результатов SQL - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь вставить результат динамического 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 

1 Ответ

0 голосов
/ 24 сентября 2018

все, что мне нужно было сделать, это добавить это: 'в ## myTempTable

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 + ' into ##myTempTable 
    FROM MyTable   
    PIVOT(SUM(Amount) 
          FOR Month IN (' + @ColumnName + ')) AS PVTTable' 
--Execute the Dynamic Pivot Query
EXEC sp_executesql @DynamicPivotQuery 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...