Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MYSQL TRÁI THAM GIA KẾT QUẢ KHÔNG ĐÚNG

Bạn có nhiều hàng trong bảng tín dụng, điều này tạo nhiều hàng trước nhóm gây ra sự cố. Bạn có thể thấy điều này nếu bạn tách nhóm ra và chọn tất cả các cột.

Nếu bạn nhóm theo một tham gia phụ, vấn đề này sẽ biến mất thì bạn có một hàng cho mỗi khách hàng trước nhóm theo.

SELECT 
  customers.id as id, 
  customers.cust_name AS customer_name,
  SUM(cust_debit.debit_amount) as debit,
  SUM(cust_credit.credit_amount) as credit,
  (SUM(cust_debit.debit_amount)) - (SUM(cust_credit.credit_amount)) as balance
FROM customers
LEFT JOIN cust_debit  ON customers.id = cust_debit.cust_id
LEFT JOIN (
  SELECT cust_id, sum(credit_amount) as credit_amount)
  from cust_credit
  group by cust_id
) cust_credit ON customers.id = cust_credit.cust_id
GROUP BY customers.id
ORDER BY customers.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. MySQL - buộc không sử dụng bộ đệm để kiểm tra tốc độ truy vấn

  2. Chèn dữ liệu từ menu thả xuống vào cơ sở dữ liệu bằng PHP

  3. Oracle MERGE và tuyên bố chuẩn bị

  4. ASP, MySQL và UTF-8

  5. JSON_REPLACE () - Thay thế giá trị trong tài liệu JSON trong MySQL