需要從貸方和借方賬戶號碼相同的借方總計中減去貸方總計。如果一個值僅存在於借方帳號中,則不需要扣除,只需要獲取該值。Mysql減去SUM(金額)DebitAccount從SUM(金額)CreditAccount如果DebitAccount == CreditAccount
一臺名爲18_7_ChartOfAccounts看起來是這樣的:
ID | AccountNumber
-------------
1 | 2310
2 | 2380
另一臺名爲2_1_journal看起來是這樣的:在此基礎上總結在Amount
列所有值建議創建查詢
ID | Amount | DebitAccount | CreditAccount
-------------------------------------------
1 | 25.00 | 2310 | 2380
2 | 200.00 | 2310 | 2380
3 | 4.00 | 2380 | 2310
4 | 200.00 | 2380 | 2310
5 | 50.00 | 2380 | 2620
其中DebitAccount
值是一樣的。
查詢執行以下操作:SUM(Amount)
FROM表2_1_journal
WHERE DebitAccount
表2_1_journal
是表一樣AccountNumber
18_7_ChartOfAccounts
$query_debit_beginning = "SELECT SUM(j.Amount), j.DebitAccount FROM 18_7_ChartOfAccounts AS c LEFT JOIN 2_1_journal AS j ON (c.AccountNumber = j.DebitAccount) group by j.DebitAccount";
不明白其他如何subtrac一個總和。
需要去輸出這樣
帳戶號碼是2310,Value爲21.00(25 + 200-4-200)
帳戶號碼是2380,Value爲29.00(4 + 200 + 50 - 25-200)
帳戶號碼是2620,值爲-50.00(0(DebitAccount週轉) - 50(CreditAccount營業額))
查詢應該是以下:
( SUM(Amount)
FROM表2_1_journal
WHERE DebitAccount
在表2_1_journal
相同AccountNumber
在表18_7_ChartOfAccounts
)
然後
SUM(Amount)
FROM表2_1_journal
WHERE CreditAccount
在表2_1_journal
相同AccountNumber
在表18_7_ChartOfAccounts
然後
如果DebitAccount
等於CreditAccount
,則減去SUM(Amount)
DebitAccount from SUM(Amount)
CreditAccount
不知道如何創建這樣的查詢。請指教。
基於建議嘗試添加選擇條件。 這裏是修改。代碼是否正確?嘗試並顯示爲必要的工作
SELECT
a.AccountNumber,
IFNULL(d.Amount, 0) - IFNULL(c.Amount, 0) AS Amount
FROM 18_7_ChartOfAccounts AS a
LEFT JOIN (
SELECT
DebitAccount, RecordYear,
SUM(Amount) AS Amount
FROM 2_1_journal WHERE RecordYear = 2013
GROUP BY DebitAccount
) d ON (a.AccountNumber = d.DebitAccount)
LEFT JOIN (
SELECT
CreditAccount, RecordYear,
SUM(Amount) AS Amount
FROM 2_1_journal WHERE RecordYear = 2013
GROUP BY CreditAccount
) c ON (a.AccountNumber = c.CreditAccount)
似乎代碼是使用帳戶進行計算的金額。我得到了[[AccountNumber] => 2310 [Amount] => 0 [AccountNumber] => 2380 [Amount] => 0 [AccountNumber] => 2620 [Amount] => -2620' – user2360831
我的不好。更新的查詢。 SELECT應該SUM'amount'字段,而不是CreditAccount或DebitAccount。 – walterquez
現在在Mysql中只有一行'1 | 25.00 | 2310 | 2380'和輸出是[[AccountNumber] => 2310 [Amount] => 50.00'和[[AccountNumber] => 2380 [Amount] => -75.00'出現它以某種方式總和2倍一個值... – user2360831