как получить разницу суммы значений в столбце двух разных таблиц в mysql? - PullRequest
0 голосов
/ 21 апреля 2020

Таблица дохода

+----+--------+-------------+
| Id | amount | description |
+----+--------+-------------+
| 26 |  10000 | Salary      |
| 27 |    500 | Test        |
+----+--------+-------------+

Второй расход

+----+--------+-------------+
| Id | amount | description |
+----+--------+-------------+
| 10 |   3000 | Rent        |
| 11 |   1500 | Test        |
+----+--------+-------------+

Я хочу получить результат как

+-------+
| Total |
+-------+
|  6000 |
+-------+

Пример: - Сумма (сумма) из дохода - Сумма (сумма) из Расхода;

1 Ответ

0 голосов
/ 21 апреля 2020

Просто вычтите результаты двух совокупных скалярных запросов:

select
    (select sum(amount) from income)
    - (select sum(amount) from expense) total

Или, если любая таблица может быть пустой или содержать только null суммы:

select
    (select coalesce(sum(amount), 0) from income)
    - (select coalesce(sum(amount), 0) from expense) total

Обратите внимание, что, Как прокомментировал Strawberry, наличие единой таблицы доходов и расходов, вероятно, будет более подходящим для вашего варианта использования. Вы можете хранить расходы как отрицательные суммы или иметь флаг, который указывает, является ли каждая строка доходом или расходом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...