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

Permintaan SQL untuk menghitung saldo akun

Anda pada dasarnya menghitung produk silang antara tdebits dan tcredits , yaitu untuk setiap baris dalam tdebits Anda mengulangi semua baris dalam tcredits . Juga tidak ada alasan untuk bergabung ke accounts (kecuali to_account_id dan from_account_id bukan kunci asing).

Anda hanya perlu melakukan satu kali transaksi pass over dan Anda hanya perlu mengetahui apakah jumlahnya kredit atau debit.

SELECT SUM(CASE WHEN t.to_account_id = $1 THEN t.amount ELSE -t.amount END) AS amount
FROM transactions AS t
WHERE (t.to_account_id = $1 OR t.from_account_id = $1)
  AND t.succeed = true

Jika akun dapat mentransfer ke dirinya sendiri, tambahkan t.to_account_id <> t.from_account_id .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah MASUKKAN BULK di MySQL

  2. Gunakan Database Relasional MySQL di Ubuntu 10.10 (Maverick)

  3. menyimpan konten html di database mysql

  4. Fungsi MySQL ACOS() – Mengembalikan Arc Cosinus dari Angka

  5. Cara Menambahkan Pemisah ke String Gabungan di MySQL – CONCAT_WS()