Я использую следующий запрос, чтобы получить правильные результаты для каждой партии.Например, если я хотел бы увидеть сумму счета-фактуры за партию 2010 ...
SELECT COALESCE(sum(i.amount),0) AS amount,
COALESCE(sum(i.discount),0) AS discount,
COALESCE(sum(i.amount) - sum(i.discount),0) AS netpay,
b.name AS batch
FROM fm_batches b
INNER JOIN fm_invoices i
LEFT JOIN fm_students s ON i.student_id = s.id
GROUP BY b.name
и выводить следующие результаты ...
| amount | discount | netpay | batch |
+--------+----------+----------+-------+
| 2500 | 500 | 2000 | 2011 |
+--------+----------+----------+-------+
| 2500 | 500 | 2000 | 2010 |
+--------+----------+----------+-------+
| 2500 | 500 | 2000 | 2009 |
+--------+----------+----------+-------+
| 2500 | 500 | 2000 | 2008 |
+--------+----------+----------+-------+
Я уверен, чтоЯ делаю что-то не так в своем запросе, поскольку он дает неправильные результаты.Он должен вернуть 0, если ничего не найдено для партии 2010. спасибо.