Мисля, че това е, което търсите. NEW_BAL
е сумата от QTY
s се изважда от баланса:
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
Ако искате да актуализирате баланса на артикула с новия баланс, използвайте следното:
UPDATE stock_bal
SET BAL_QTY = BAL_QTY - (SELECT SUM(QTY)
FROM master_table
GROUP BY master_table.ORDERNO,
master_table.ITEM)
Това предполага, че сте публикували изваждането назад; той изважда количествата в поръчката от баланса, което има най-голям смисъл, без да знаете повече за вашите таблици. Просто разменете тези две, за да го промените, ако греша:
(SUM(master_table.QTY) - stock_bal.BAL_QTY) AS NEW_BAL