我正在编写一个查询3个表,其中包含一些计算。一张以客户名义列出的表格在表debit_items中可能有一个或多个借方,每个借方在表credit_items中可以有一个或多个贷方。在这里,我应该找到每个客户的总借方和总贷方,但是问题是,如果借方有一个以上的贷方,则该借方将被计算为重复。
我写的查询是这样的:
SELECT customers.*,sum(CASE
WHEN debit_items.customer_id = customers.id THEN
debit_items.debit_amount
ELSE
0
END) as total_debit,sum(CASE
WHEN credit_items.debit_id = debit_items.id THEN
credit_items.credit_amount
ELSE
0
END) as total_credit
FROM customers
LEFT JOIN debit_items
ON customers.id = debit_items.customer_id
AND debit_items.deleted = '0'
LEFT JOIN credit_items
ON debit_items.id = credit_items.debit_id
AND credit_items.deleted = '0'
GROUP BY customers.id
如果有人帮助我,我会很感激。