簡體   English   中英

Mysql 兩個不同列的減和與連接 - 使用 Symfony 查詢生成器

[英]Mysql Minus Sum Of Two Different Columns With Join - Using Symfony Query Builder

我有兩張桌子:

Account: id, name
Transaction: account_id,payment,charge

交易鏈接到帳戶,交易可以是付款或收費。 我要做的是在一個查詢中,將所有付款相加並減去所有費用的總和,從而得出總體余額。

當 mysql 查詢變得如此復雜時,我並不擅長,但我可以很容易地得到付款的總和:

SELECT SUM(I.payment), A.* FROM propertyLettingAccountNew A INNER JOIN lettings_account_statement_item I ON I.letting_account_id = A.id GROUP BY A.id

因此,這給了我全部付款金額,但我不確定如何對費用列求和並從付款金額中減去。 我將使用 symfony 查詢生成器來運行此查詢,一旦確定是否會產生影響。

您可以從每筆交易的付款中扣除費用並將結果相加:

SELECT a.id, a.name,
       SUM(COALESCE(t.payment, 0) - COALESCE(t.charge, 0)) balance
FROM Account a INNER JOIN Transaction t
ON t.account_id = a.id
GROUP BY a.id, a.name 

我使用 COALESCE() 以防列中有空值。
如果沒有任何空值:

SELECT a.id, a.name,
       SUM(t.payment - t.charge) balance
FROM Account a INNER JOIN Transaction t
ON t.account_id = a.id
GROUP BY a.id, a.name 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM