Вставка результирующего набора динамического сводного запроса SQL во временную таблицу
Как я могу вставить в глобальную временную таблицу результаты динамического запроса t-sql, в котором столбцы не фиксированы? См. ниже определение таблицы, вставку значений и запрос T-sql for pivot. Мне нужно вставить наборы результатов в глобальную временную таблицу, чтобы я мог использовать ее для ссылки с другим запросом.
Что я уже пробовал:
/****** Object: Table [dbo].[ProdOrders] Script Date: 30/8/2017 7:24:35 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[ProdOrders]( [ItemCode] [nvarchar](50) NULL, [ReleasedDate] [date] NULL, [PlanQty] [float] NULL, [ActualQty] [float] NULL ) ON [PRIMARY] GO INSERT INTO [dbo].[ProdOrders] ([ItemCode] ,[ReleasedDate] ,[PlanQty] ,[ActualQty]) VALUES ('0D203-22882-079','2017-08-18',12654,4218), ('0D203-22882-079','2017-08-23',15758,5253), ('0D203-22882-079','2017-08-27',26263,8754), ('0D203-22882-079','2017-09-02',7354,2451), ('0D301-05422-079','2017-08-18',31144,10381), ('0D301-05422-079','2017-08-18',20612,6871), ('0D301-05422-079','2017-08-23',25765,8588), ('0D301-05422-079','2017-08-29',19582,6527), ('0D301-05422-079','2017-09-04',15459,5153), ('0D203-22882-079','2017-09-22',5232,1744), ('0D203-22882-079','2017-09-28',13236,4412), ('0D203-22882-079','2017-10-03',7693,2564), ('0D301-05422-079','2017-09-23',24735,8245), ('0D301-05422-079','2017-09-27',19561,6520), ('0D301-05422-079','2017-09-06',23755,7918), ('0D301-05422-079','2017-09-14',23755,7918), ('0D301-05422-079','2017-09-17',29694,9898), ('0D203-22882-079','2017-11-01',2263,754), ('0D203-22882-079','2017-10-21',15693,5231), ('0D203-22882-079','2017-10-20',15968,5323), ('0D203-22882-079','2017-10-25',10521,3507), ('0D301-05422-079','2017-10-21',23755,7918), ('0D301-05422-079','2017-10-29',17816,5939), ('0D301-05422-079','2017-11-01',15612,5204), ('0D301-05422-079','2017-10-03',20816,6939), ('0D301-05422-079','2017-10-11',15612,5204), ('0D301-05422-079','2017-10-18',26020,8673) Declare @SQL varchar(max) = ' Select * From ( Select A.ItemCode ,B.* From [dbo].[ProdOrders] A Cross Apply ( values ( convert(varchar(6),ReleasedDate,112)+''-Plan'',PlanQty) ,( convert(varchar(6),ReleasedDate,112)+''-Actual'',ActualQty) ) B (Item,Value) ) S Pivot (sum([Value]) For [Item] in (' + Stuff((Select Distinct ','+QuoteName(convert(varchar(6),ReleasedDate,112)+'-Plan') +','+QuoteName(convert(varchar(6),ReleasedDate,112)+'-Actual') From [dbo].[ProdOrders] Order By 1 For XML Path('')),1,1,'') + ') ) p' Exec(@SQL);