Запрос на расчет прибыли за месяц
У меня есть таблицы:
Доходы:
| date | incomeAmount |
Расходы:
| date | expenseAmount |
Я хотел бы суммировать все свои доходы за определенный месяц, используя: МЕСЯЦ (дата) =?
Мне также нужно сложить все мои расходы в этом же месяце
Затем вычтите, чтобы получить мою прибыль за месяц, с выходной таблицей, подобной этой:
| Month | TotalIncomes | TotalExpenses | Profit |
Как я могу создать SQL-запрос для этого? Спасибо за помощь!
2 ответа
Вы можете присоединиться к агрегированным таблицам.
SELECT A.Month, TotalIncomes, TotalExpenses, TotalIncomes-TotalExpenses AS Profit
FROM (MONTH(Date) AS Month, SUM(incomeAmount) AS TotalIncomes
FROM Incomes
GROUP BY MONTH(Date)
) A
INNER JOIN (
MONTH(Date) AS Month, SUM(expenseAmount) AS TotalExpenses
FROM Incomes
GROUP BY MONTH(Date)
) B
ON A.Month = B.Month
SELECT I.Month AS Month,
I.TotalIncomes AS TotalIncomes,
E.TotalExpenses AS TotalExpenses,
I.TotalIncomes - E.TotalExpenses AS Profit
FROM ( SELECT EXTRACT(MONTH FROM DATE ) AS Month,
SUM( I.incomeAmount ) AS TotalIncomes
FROM Incomes
) I,
(
SELECT EXTRACT(MONTH FROM DATE ) AS Month,
SUM( E.expenseAmount ) AS TotalExpenses
FROM Expenses
) E
WHERE I.Month = E.Month
;