Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment SOMMER et SOUSTRAIRE en utilisant SQL?

Je pense que c'est ce que vous cherchez. NEW_BAL est la somme de QTY s soustrait du solde :

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

Si vous souhaitez mettre à jour le solde de l'article avec le nouveau solde, utilisez ce qui suit :

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

Cela suppose que vous avez posté la soustraction à l'envers; il soustrait les quantités de la commande du solde, ce qui est le plus logique sans en savoir plus sur vos tables. Échangez simplement ces deux pour le changer si je me suis trompé :

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