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

Hvordan SUMMER og TRÆKKER man ved hjælp af SQL?

Jeg tror, ​​det er det, du leder efter. NEW_BAL er summen af ​​QTY s trukket fra saldoen:

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

Hvis du vil opdatere varebeholdningen med den nye saldo, skal du bruge følgende:

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

Dette forudsætter, at du bogførte subtraktionen baglæns; den trækker mængderne i rækkefølgen fra saldoen, hvilket giver mest mening uden at vide mere om dine tabeller. Bare skift de to for at ændre det, hvis jeg tog fejl:

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


  1. Opretter forbindelse til SQL Server 2012 ved hjælp af sqlalchemy og pyodbc

  2. MySQL Vis indekser i databasen

  3. Send variabel værdi fra JS til PHP

  4. Hvordan bruger man IN-operator med JDBI?