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

Kueri jumlah MySQL mengembalikan hasil yang salah saat menggunakan banyak gabungan

Gunakan total secara langsung karena gabungan Anda mungkin membuat lebih banyak baris dalam kombinasi yang Anda inginkan.

Coba yang berikut ini:

SELECT id, MAX(Total) as FinalTotal ,MAX(Payment) as FinalPayment
FROM si_invoices a 
    left join 
    (select invoice_id, sum(total) as Total from si_invoice_items group by invoice_id) b 
    on a.id = b.invoice_id
    left join
    (select ac_inv_id, sum(payment) as Payment from si_payment group by ac_inv_id) c 
    on c.ac_inv_id = a.id 
group by id

atau jika id unik:

    SELECT *
FROM si_invoices a 
    left join 
    (select invoice_id, sum(total) as Total from si_invoice_items group by invoice_id) b 
    on a.id = b.invoice_id
    left join
    (select ac_inv_id, sum(payment) as Payment from si_payment group by ac_inv_id) c 
    on c.ac_inv_id = a.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. Tidak dapat terhubung ke database (000webhost)

  2. praktik terbaik sql saya dengan php untuk menghitung baris

  3. Cara terbaik untuk kesalahan menangkap LOAD DATA LOCAL INFILE?

  4. Gunakan Database Relasional MySQL di CentOS 5

  5. Bisakah Anda menambahkan pernyataan if di ORDER BY?