これがあなたが探しているものだと思います。 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)
これは、減算を逆方向に転記したことを前提としています。残高から順番に数量を差し引きます。これは、テーブルについて詳しく知らなくても最も理にかなっています。私が間違っていた場合は、これら2つを交換して変更してください:
(SUM(master_table.QTY) - stock_bal.BAL_QTY) AS NEW_BAL