Sql server 在插入到其他表之前,如何在存储过程中求和和和分组

Sql server 在插入到其他表之前,如何在存储过程中求和和和分组,sql-server,stored-procedures,Sql Server,Stored Procedures,我有表Purchasing.tblGoodsReceive(表A)和Accounting.tblGeneralLedger(表B) 我想编写一个存储过程,将数据插入tableA,然后插入tableB,但在tableB中,我只想插入Sum和Group By 有关插图,请参见屏幕截图 INSERT INTO Purchasing.tblGoodsReceive (GoodsReceiveID, DateReceived, DeliveryOrder, VendorID, Warehouse, Pos

我有表
Purchasing.tblGoodsReceive
(表A)和
Accounting.tblGeneralLedger
(表B)

我想编写一个存储过程,将数据插入tableA,然后插入tableB,但在tableB中,我只想插入Sum和Group By

有关插图,请参见屏幕截图

INSERT INTO Purchasing.tblGoodsReceive (GoodsReceiveID, DateReceived, DeliveryOrder, VendorID, Warehouse, PostingToGJ, ReceivedBy, CheckedBy, CorrectionBy, ApprovedBy, AcceptedBy, CreatedBy)
OUTPUT inserted.ID INTO @NewID(ID)
VALUES (@Param1, @Param2, @Param3, @Param4, @Param5, @Param5a, @Param6, @Param6a, @Param6b, @Param6c, @Param6d, @Param7);

MERGE Purchasing.tblGoodsRecieveDetail AS old
USING (SELECT 
           x.value('ID[1]', 'int') AS ID,
           x.value('GoodsRecieveID[1]', 'int') AS GoodsRecieveID,
           x.value('NoInvoice[1]', 'int') AS NoInvoice,
           x.value('NoPO[1]', 'int') AS OrderID,
           x.value('ItemID[1]', 'int') AS ItemID,
           x.value('ReceivedQty[1]', 'int') AS ReceivedQty,
           x.value('UnitPrice[1]', 'money') AS UnitPrice,
           x.value('Complete[1]', 'bit') AS Complete,
           @ParamRateItem AS RateID
       FROM 
           @ParamXml1.nodes('/NewDataSet/vItemsReceivingItem') XmlData(x)) AS new ON (new.ID = old.ID)

    WHEN NOT MATCHED AND new.ItemID IS NOT NULL 
       THEN 
        INSERT (GoodsReceiveID, NoInvoice, OrderID, ItemCode, ReceivedQty, UnitPrice, Complete, RateID)
        Values((SELECT ID FROM @NewID), new.NoInvoice, new.OrderID, new.ItemID, new.ReceivedQty, new.UnitPrice, new.Complete, new.RateID);
有关插图,请参见屏幕截图


能否将INSERT语句的SQL查询提供给表A.INSERT(GoodsRecieveID、NoInvoice、OrderID、ItemCode、ReceivedQty、UnitPrice、Complete、RateID)值((从@NewID中选择ID)、new.NoInvoice、new.OrderID、new.ItemID、new.ReceivedQty、new.UnitPrice、new.Complete、new.RateID);我正在使用Xml插入表格A您有一个更新查询,该查询将列“COMPLETE”设置为true?您的屏幕截图和上面的脚本不在一起。为什么要使用Xml变量插入表格B?根据您的屏幕截图,您的AccountID在脚本中的何处?能否将insert语句的SQL查询提供给表格A。insert(GoodsRecieveID、NoInvoice、OrderID、ItemCode、ReceivedQty、单价、完成、RateID)值((从@NewID中选择ID)、new.NoInvoice、new.OrderID、new.ItemID、new.ReceivedQty、new.UnitPrice、new.Complete、new.RateID);我正在使用Xml插入TableA您有一个更新查询,该查询将列“COMPLETE”设置为true?您的屏幕截图和上面的脚本不在一起。为什么要使用Xml变量插入TableB?根据您的屏幕截图,脚本中的AccountID在哪里?