Je pense que c'est ce que vous cherchez. NEW_BAL
est la somme de QTY
s soustrait du solde :
SELECT master_table.ORDERNO,
master_table.ITEM,
SUM(master_table.QTY),
stock_bal.BAL_QTY,
(stock_bal.BAL_QTY - SUM(master_table.QTY)) AS NEW_BAL
FROM master_table INNER JOIN
stock_bal ON master_bal.ITEM = stock_bal.ITEM
GROUP BY master_table.ORDERNO,
master_table.ITEM
Si vous souhaitez mettre à jour le solde de l'article avec le nouveau solde, utilisez ce qui suit :
UPDATE stock_bal
SET BAL_QTY = BAL_QTY - (SELECT SUM(QTY)
FROM master_table
GROUP BY master_table.ORDERNO,
master_table.ITEM)
Cela suppose que vous avez posté la soustraction à l'envers; il soustrait les quantités de la commande du solde, ce qui est le plus logique sans en savoir plus sur vos tables. Échangez simplement ces deux pour le changer si je me suis trompé :
(SUM(master_table.QTY) - stock_bal.BAL_QTY) AS NEW_BAL