我正在開發一個研究所的LMS系統 ,我正在努力在月底制定一份恢復報告 報告中包含學生姓名總費用包,總收到,總可接受,當月未決批兩列兩列的總和mysql mysql
分期付款的數據,這是從哪兒ICAN挑費包和總receiveable費
01底帳數據
,我使用這個查詢恢復報告
SELECT
SUM(l.dr)-SUM(l.cr) as sum_remaining,
f.dr as fee_package,
SUM(i.payment) as this_month_install,
a.reg_id, s.fname
FROM
ledger l, ledger f, student_data s,
admissions a LEFT OUTER JOIN installments i ON a.admissionid = i.admissionid
WHERE
a.admissionid = '58ac4b5421488' AND
a.reg_id = s.reg_id AND
l.reference = '58ac4b5421488' AND
l.details <> 'registration fee' AND
f.reference = '58ac4b5421488' AND
f.details = 'Fee Package' AND
i.install_no <> '1' AND
MONTH(i.pay_date) = '04' AND
YEAR(i.pay_date) = '2017'
GROUP BY a.admissionid
及其給結果這樣
但結果應該是像
sum_remaining = 10000 和this_month_install = 10000 請幫忙我理清這個問題提前
請注意'JOIN' +'GROUP_BY' - 通常會導致「COUNTs」和「SUMs」膨脹。 –
那我該怎麼做。 –
首先,瞭解每個「JOINs」是多少:很多還是1:多。然後嘗試使用最少數量的「JOIN」來獲得每個「SUM」,如果可能的話,爲零。這可能涉及一些子查詢。 –