Я хочу посчитать, сколько денег у пользователя 1 на счету. У меня нет столбца с суммой денег, потому что я хочу вести простую двойную бухгалтерию.
Поэтому я хотел бы рассчитать ее на основе транзакций, выполненных в операции SQL в моем PostgreSQL база данных. Моя таблица выглядит примерно так:
id sender_id recipient_id amount_money
--- ----------- ---------------------- -----------------
1 1 2 60.00
2 1 2 15.00
3 2 1 35.00
Если пользователь является отправителем, сумма должна быть вычтена. Иначе, если пользователь является получателем, сумма должна быть добавлена.
Таким образом, исходя из доступной таблицы, идентификатор пользователя 1 должен иметь: -40,00, а идентификатор пользователя 2 должен иметь: 40,00.
Как я могу сделать это на PostgreSQL, указав в аргументе только идентификатор пользователя? Я не могу программировать в SQL так хорошо, что могу справиться сам.
Кстати, это нормально делать с SQL? Бэкэнд моего приложения написан на NodeJS. Я сделал небольшой анализ и решил, что мой способ сэкономить будет в порядке, но я всего лишь программист с опытом работы в течение года.