我有一个动态数据透视查询
SELECT * FROM (SELECT [SERVICEID],
[SERVICETYPEID],[TRAIN],[SERVICETYPEOPTIONID],
[OPTIONNAME], [CLIENTID],[AGENT], [MANAGEMENTLEGID ],
[LEG], [ALLOCATIONDATE],[CURRENTALLOCATION]
FROM EXCELEXPORT) AS [SubTable] PIVOT (MAX([CURRENTALLOCATION])FOR [ALLOCATIONDATE] IN ( [02/05/19], [02/07/19], [02/08/19], [02/09/19], [02/10/19]) ) AS [Pivot];
需要将其插入到临时表中。我该如何实现。任何输入都是可疑的。
答案 0 :(得分:0)
PIVOT,用于将数据从一列旋转到多列。
这里DEMO使用临时表处理PIVOT查询
答案 1 :(得分:0)
如果要将EXEC sp_executesql
的结果插入到临时表中,则需要首先定义表的定义。
由于动态T-SQL语句可能导致返回的列数不同,因此您无需高级定义表。
实际上,您可以使用T-SQL语句预先定义这样的表,但是在其他sp_execuetsql
执行或外部范围中不可见:
EXEC sp_executesql N'CREATE TABLE #DataSource ([column] int)';
EXEC sp_executesql N'SELECT * FROM #DataSource';
SELECT *
FROM #DataSource;
因此,您唯一的选择是将所有逻辑包装在动态T-SQL语句中,然后返回结果。