sql - 将动态数据透视查询的结果插入临时表
问题描述
我有一个动态数据透视查询
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];
这需要插入到临时表中。我怎样才能实现它。任何输入都是有价值的。
解决方案
如果要将结果插入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 语句中,然后返回结果。
推荐阅读
- java - 删除Java中的重载方法
- button - Kivy 关于将多个按钮绑定到每个单独的功能
- django - DRF - 嵌套反向关系序列化器
- swift - ARKit 和 RealityKit – 协作会议
- c# - 使用循环的 C# 复利计算器(错误 CS0103)
- c# - 包含二维对象数组的对象数组的序列相等
- python - docker-compose 和 uWSGI 的随机“对等连接重置”错误
- angular - ionic 4 native http插件中的HTTP-native Post请求有问题无法访问我的网址
- git - 如何在同一wifi下同步不同树莓派中的两个文件夹
- java - ARCore 在增强图像上的点击位置