Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL LEFT JOIN НЕПРАВИЛЕН РЕЗУЛТАТ

Имате няколко реда в кредитната таблица, това прави няколко реда преди групата, която причинява проблема. Можете да видите това, ако извадите групата от и изберете всички колони.

Ако групирате по в подсъединяване, този проблем изчезва, тогава имате един ред на клиент преди групирането по.

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

  2. mysql поръчка от с union изглежда не работи

  3. Консумира ли MySQL значително повече ресурси в сравнение с други СУБД?

  4. не е чувствителна заявка в mysql

  5. Как да извлечете редове в необходимия ред в mysql