Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como somar e subtrair usando SQL?


Acho que é isso que você está procurando. NEW_BAL é a soma de QTY s subtraído do 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 você quiser atualizar o saldo do item com o novo saldo, use o seguinte:
UPDATE stock_bal
SET    BAL_QTY = BAL_QTY - (SELECT   SUM(QTY)
                            FROM     master_table
                            GROUP BY master_table.ORDERNO,
                                     master_table.ITEM)

Isso pressupõe que você postou a subtração para trás; ele subtrai as quantidades no pedido do saldo, o que faz mais sentido sem saber mais sobre suas tabelas. Basta trocar esses dois para alterá-lo se eu estiver errado:
(SUM(master_table.QTY) - stock_bal.BAL_QTY) AS NEW_BAL