如何使用子查询插入到临时表并从临时表中选择

问题描述

我正在尝试将此数据插入到临时表中 当我添加片段以将第二个结果集#Temp插入到我的临时表中时 我收到不正确的语法错误 有任何想法吗?

sql

-- =============================================
-- Author:      <Kaven>
-- Create date: <August 2020>
-- Description: Summary Report of [spRPWipManufactureProcessLogR1]
-- Owner : RpData.dll
-- =============================================
ALTER PROCEDURE [dbo].[spRPWipManufactureProcessLogR2]
    @FromDate DATE = null,@ToDate DATE = null,@Location NVARCHAR(15) =null,--Dropdown  --CostCentre
    @Operation NVARCHAR(15) = NULL,-- Dropdown --WorkCentre
    @JobNumber nvarchar(15) = NULL
AS
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
BEGIN
--EXEC [spRPWipManufactureProcessLogR2] '20200201','20200301'
    IF @Operation = ''
    BEGIN
    SET @Operation = null
    END
    IF @JobNumber = ''
    BEGIN
    SET @JobNumber = NULL
    END
    IF OBJECT_ID(N'tempdb..#Temppp_WarehouseList') IS NOT NULL
    BEGIN DROP TABLE #Temppp_WarehouseList  END

    SELECT StockCode
    INTO #Temppp_WarehouseList 
    FROM CompanyA..InvMaster 
    
      
    DECLARE 
    @wh_List NVARCHAR(1000),@wh_List2 NVARCHAR(1000)

    SELECT @wh_List = STUFF((SELECT ',['+l.Warehouse+' QtyOnHand]' FROM CompanyA..InvWhControl l WHERE l.Warehouse IS NOT NULL FOR XML PATH('')),1,'')
    SELECT @wh_List2 = STUFF((SELECT ',['+l.Warehouse+' QtyOnOrder]' FROM CompanyA..InvWhControl l WHERE l.Warehouse IS NOT NULL FOR XML PATH('')),'')

    --SELECT @wh_List 
    --SELECT @wh_List2  

    SELECT ProductID,FromDate,ToDate,QtyBUoM
    INTO #TempBuOM
    FROM Cetus.dbo.SMDemandForcastDailyHierarchy df
    JOIN dbo.SMDemandSourceTypeDef st ON st.pkDFSourceTypeID = df.fkSourceType 
    WHERE 
    df.DemandSource = st.pkDFSourceTypeID 
    AND
    df.Parent = st.pkDFSourceTypeID 
    AND FromDate <= GETDATE()
    AND ToDate >= GETDATE()
    SELECT * FROM #TempBuOM



   SELECT * FROM #Temppp_WarehouseList t  
   INNER join   
   (SELECT *   FROM
   (SELECT Warehouse+' QtyOnHand' 'WarehouseOnHand',Warehouse+' QtyOnOrder' 'WarehouseOnOrder',QtyOnHand,QtyOnOrder,b.CostCentre AS 'Location',--b.WorkCentre AS [Operation],-- arc.Job AS [Job Number],--FORMAT(CAST(CAST(s.Event AS XML).value('(/OperationTrackingLog/TimeStamp)[1]','varchar(max)') AS DATETIME),'HH:mm:ss') AS [Operation Compeleted Time],-- CONVERT(VARCHAR,FORMAT(CAST(CAST(s.Event AS XML).value('(/OperationTrackingLog/TimeStamp)[1]','yyyy/MM/dd'),100)  AS [Operation Compeleted Date],-- CONVERT(Date,CONVERT(date,arc.DTComplete))AS [Compeleted Date],df.ProductID AS 'Product ID',m.Description AS 'Stock Code DESCRIPTION',arc.QtyToMake AS 'Quantity To Make',arc.QtyManufactured 'Quantity Manufactured',df.QtyBUoM AS 'Daily Demand',inv.QtyOnOrder AS 'Quantity On Order',inv.QtyOnHand AS 'Stock Levels'
   INTO #TEMP -- Error comes here
   FROM Cetus..WIPManufactureProcessLog s    
   LEFT JOIN WIP..WipMaster_Arc arc ON s.JobId = arc.Job   
   JOIN CompanyA..InvMaster m ON arc.StockCode = m.StockCode   
   JOIN CompanyA..InvWarehouse inv ON m.StockCode = inv.StockCode   
   JOIN CompanyA.dbo.BomOperations bo ON m.StockCode = bo.StockCode AND bo.Operation = s.Operation   
   JOIN CompanyA..BomWorkCentre b ON bo.WorkCentre = b.WorkCentre    
   JOIN [dbo].SMDemandForcastDailyHierarchy df ON m.StockCode = df.ProductID   
   JOIN dbo.SMDemandSourceTypeDef st ON st.pkDFSourceTypeID = df.fkSourceType 
   --EXEC [spRPWipManufactureProcessLogR2] '20190101','20200201'

   Where CONVERT(VARCHAR,100)  
   BETWEEN ISNULL(@FromDate,CONVERT(VARCHAR,100)) 
   AND ISNULL(@ToDate,100))


   --WHERE FORMAT(CAST(CAST(s.Event AS XML).value('(/OperationTrackingLog/TimeStamp)[1]','HH:mm:ss') >= '2020-02-01'
   --AND FORMAT(CAST(CAST(s.Event AS XML).value('(/OperationTrackingLog/TimeStamp)[1]','HH:mm:ss') <= '2020-03-01 '  
   AND m.WarehouseToUse <>'AA'   
   AND b.WorkCentre = ISNULL(@Location,b.WorkCentre )
   AND b.CostCentre = ISNULL(@Operation,b.CostCentre )
   AND arc.Job = ISNULL(@JobNumber,arc.Job)   )p     
   PIVOT     (
   SUM(QtyOnHand) FOR WarehouseOnHand IN
   ([BB QtyOnHand],[16 QtyOnHand],[IS QtyOnHand],[MS QtyOnHand],[MH QtyOnHand],[AA QtyOnHand],[BC QtyOnHand],[PH QtyOnHand],[P4 QtyOnHand],[PL QtyOnHand],[CC QtyOnHand],[SR QtyOnHand],[TS QtyOnHand],[WW QtyOnHand])) AS pvt 
   PIVOT     
   (SUM(QtyOnOrder) FOR WarehouseOnOrder IN 
   ([BB QtyOnOrder],[16 QtyOnOrder],[IS QtyOnOrder],[MS QtyOnOrder],[MH QtyOnOrder],[AA QtyOnOrder],[BC QtyOnOrder],[PH QtyOnOrder],[P4 QtyOnOrder],[PL QtyOnOrder],[CC QtyOnOrder],[SR QtyOnOrder],[TS QtyOnOrder],[WW QtyOnOrder])) AS pvt2  GROUP BY  )
   AS z  on t.StockCode = z.[Product ID]

  ```sql```

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)