Я искал некоторое время, но ничего, что я нашел, не решает мою проблему ...
У меня есть две таблицы: доходы, расходы
У меня есть столбцы:
- доход.счет
- доход.дата
- расходов.сумма
- расходов.дата
Я хочу суммировать все свои доход и показать их по годам и месяцам, так что я делаю это, и он отлично работает ...
SELECT
DATE_FORMAT(date, '%Y%m') AS 'date',
SUM(amount) as 'total_earnings'
FROM earnings
GROUP BY DATE_FORMAT(date, '%Y%m')
Вывод похож на это ...
date,total_earnings
201901,5000
201902,5500
201903,6200
etc.
Я делаю то же самое для таблицы расходов, и все хорошо.
Моя проблема: Когда я пытаюсь написать запрос, который показывает мне общий доход и общие расходы, сгруппированные по годам и месяцам, я получаю декартову результат показывает цифры huuuge.
Это пример запроса, который показывает декартовой результат:
SELECT
DATE_FORMAT(ea.date, '%Y%m') AS date,
SUM(ea.amount) AS 'total_earnings',
SUM(ex.amount) AS 'total_expenses',
FROM earnings ea
INNER JOIN expenses ex
ON DATE_FORMAT(ea.date, '%Y%m') = DATE_FORMAT(ex.date, '%Y%m')
GROUP BY DATE_FORMAT(ex.date, '%Y%m')
Как я могу показать общую сумму ежемесячных доходов и ежемесячных расходов в одном запросе?
Желаемый вывод:
date,total_earnings,total_expenses
201901,5000,1000
201902,5500,1100
201903,6200,1250
Заранее спасибо!