Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara SUM dan SUBTRACT menggunakan SQL?

Saya pikir ini adalah apa yang Anda cari. NEW_BAL adalah jumlah dari QTY s dikurangi dari 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

Jika Anda ingin memperbarui saldo item dengan saldo baru, gunakan yang berikut ini:

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

Ini mengasumsikan Anda memposting pengurangan mundur; itu mengurangi jumlah dalam urutan dari keseimbangan, yang paling masuk akal tanpa mengetahui lebih banyak tentang tabel Anda. Tukar saja keduanya untuk mengubahnya jika saya salah:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JDBC vs Layanan Web untuk Android

  2. Hitung duplikat catatan di tabel Mysql?

  3. Melacak waktu kueri DB - Rak buku/knex

  4. Menghubungkan MySQL ke Visual Studio C#

  5. Bagaimana cara menjaga nilai kolom tetap unik di MySQL?