我想加入三个表来计算特定(party_id)的余额=(购买-付款):
从该id购买的总金额= 20,000,总付款金额= 15,000,因此其余额应为= 5,000。使用此代码后:
SELECT
((sum(purchase.total)) - (sum(payments.amount))) AS Party_Balance
FROM
Purchase
INNER JOIN
Party
ON purchase.supplier_id = party.party_id
INNER JOIN
Payments
ON party.party_id = payments.party_id
WHERE
payments.party_id = enter_party_id;
输出不正确:1,000,245,而不是5,000。
这是我建立关系的方式,是否应该修复关系?
答案 0 :(得分:2)
您必须对表Party
进行2个单独的分组:
第一个使用Purchase
获得SUM
的{{1}}
第二个与total
一起获得Payments
的{{1}}。
然后加入2个子查询并获得SUM
:
amount