Ik denk dat dit is wat je zoekt. NEW_BAL
is de som van QTY
s afgetrokken van het saldo:
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
Als u het artikelsaldo wilt bijwerken met het nieuwe saldo, gebruikt u het volgende:
UPDATE stock_bal
SET BAL_QTY = BAL_QTY - (SELECT SUM(QTY)
FROM master_table
GROUP BY master_table.ORDERNO,
master_table.ITEM)
Dit veronderstelt dat je de aftrekking achterstevoren hebt geboekt; het trekt de hoeveelheden in de volgorde van de balans af, wat het meest logisch is zonder meer te weten over uw tabellen. Verwissel die twee gewoon om het te veranderen als ik het mis had:
(SUM(master_table.QTY) - stock_bal.BAL_QTY) AS NEW_BAL