gfee 및 netpay에 잘못된 값이 표시됩니다.mysql의 값이 잘못되었습니다. INNER JOIN
SELECT s.id, s.name, c.name AS course_name,
s.open_bal AS open_balance, sum(i.amount) AS gross_fee,
sum(i.discount) AS discount, sum(i.amount) - sum(i.discount) AS net_payable,
SUM(r.reg_fee+r.tut_fee+r.other_fee) AS net_recieved,
(sum(i.amount) - sum(i.discount)) - SUM(r.reg_fee+r.tut_fee+r.other_fee) AS balance_due
FROM subscribers s
INNER JOIN courses c on c.id = s.course_id
LEFT JOIN invoices i on i.student_id = s.id
LEFT JOIN recipts r on r.student_id = s.id
GROUP BY s.id;
왜 이런 일이 발생합니까?
'잘못된'이란 무엇입니까? 당신은 무엇을 얻고 당신은 옳은 것을 기대합니까? –
@ypercube 3500 대신 gross_fee로 70000을 얻고 있습니다. – seoppc
'student_id'에 대해 'recipts'에 두 개의 레코드가있는 것처럼 들립니다. 어쩌면 몇 가지 추가 조인 조건이 누락 되었습니까? –