Запрос на расчет прибыли за месяц

У меня есть таблицы:

Доходы:

| 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
;
Другие вопросы по тегам