如果贷方和借方帐号相同,则需要从借方总额中减去贷方总额。如果某个值只存在于借方帐号,则无需减去,只需获取该值即可。
一个名为 18_7_ChartOfAccounts 的表如下所示:
ID | AccountNumber
-------------
1 | 2310
2 | 2380
另一个名为 2_1_journal 的表如下所示:
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
根据建议创建的查询将列Amount
中值DebitAccount
相同的所有值相加。
查询执行以下操作:SUM(Amount)
FROM table 2_1_journal
WHERE DebitAccount
in table 2_1_journal
is the same as AccountNumber
in table18_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";
不明白如何从另一个中减去一个总和。
需要得到这样的输出
帐号是 2310,值是 21.00 (25+200-4-200)
帐号是 2380,价值是 29.00 (4+200+50-25-200)
帐号为 2620,值为 -50.00 (0(DebitAccount 营业额) - 50(CreditAccount 营业额))
查询应该如下:
(表中的SUM(Amount)
FROM 表2_1_journal
WHEREDebitAccount
与表中2_1_journal
相同)AccountNumber
18_7_ChartOfAccounts
然后
SUM(Amount)
表中的FROM 表2_1_journal
WHERECreditAccount
与表中2_1_journal
的相同AccountNumber
18_7_ChartOfAccounts
然后
如果DebitAccount
等于,则从CreditAccountCreditAccount
中减去DebitAccountSUM(Amount)
SUM(Amount)
不知道如何创建这样的查询。请指教。
根据建议尝试为选择添加条件。这是有修改的。代码是否正确?尝试并出现必要的工作
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)