UPDATE dbo.Items > SET Items.iqtyonhand = Items.iqtyonhand + Deleted.trn_qty - Inserted.trn_qty > FROM dbo.Items > INNER JOIN Inserted ON Items.iItemid = Inserted.trn_itmfk > INNER JOIN Deleted ON Items.iItemID = Deleted.trn_itmfk > WHERE iItemTypId = '43'
;with cteChanges AS (SELECT D.trn_itmfk AS ItemID, SUM(COALESCE(D.trn_qty,0) - COALESCE(I.trn_qty,0)) as ChangedQty FROM Deleted D INNER JOIN Inserted I on D.trn_itmFk = I.trn_itmFK GROUP BY D.trn_itmfk) MERGE dbo.Items as Trg USING cteChanges as Src ON Trg.ItemId = Src.ItemID WHEN MATCHED and Trg.iItemTypeId = '43' THEN UPDATE SET iQtyOnHand = COALESCE(Trg.iQtyOnHand) + ChangedQty;