Ich denke, das ist, was Sie suchen. NEW_BAL
ist die Summe von QTY
s vom Guthaben abgezogen:
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
Wenn Sie den Artikelsaldo mit dem neuen Saldo aktualisieren möchten, verwenden Sie Folgendes:
UPDATE stock_bal
SET BAL_QTY = BAL_QTY - (SELECT SUM(QTY)
FROM master_table
GROUP BY master_table.ORDERNO,
master_table.ITEM)
Dies setzt voraus, dass Sie die Subtraktion rückwärts gebucht haben; Es subtrahiert die Mengen in der Bestellung vom Saldo, was am sinnvollsten ist, ohne mehr über Ihre Tabellen zu wissen. Tauschen Sie einfach diese beiden aus, um es zu ändern, wenn ich mich geirrt habe:
(SUM(master_table.QTY) - stock_bal.BAL_QTY) AS NEW_BAL