我正在开发一个研究所的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”,如果可能的话,为零。这可能涉及一些子查询。 –