Mysql
 sql >> Database >  >> RDS >> Mysql

Come SOMMA e SOTTRATTA usando SQL?

Penso che questo sia quello che stai cercando. NEW_BAL è la somma di QTY s sottratto dal 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

Se desideri aggiornare il saldo dell'articolo con il nuovo saldo, utilizza quanto segue:

UPDATE stock_bal
SET    BAL_QTY = BAL_QTY - (SELECT   SUM(QTY)
                            FROM     master_table
                            GROUP BY master_table.ORDERNO,
                                     master_table.ITEM)

Ciò presuppone che tu abbia inviato la sottrazione all'indietro; sottrae le quantità nell'ordine dal saldo, il che ha più senso senza sapere di più sulle tue tabelle. Basta scambiare quei due per cambiarlo se mi sbagliavo:

(SUM(master_table.QTY) - stock_bal.BAL_QTY) AS NEW_BAL