У меня есть таблица транзакций, настроенная так:
-- Transactions table
+----+---------+-------+------------------+--------+-----------+
| id | from_id | to_id | transaction_type | amount | card_type |
+----+---------+-------+------------------+--------+-----------+
| 1 | 1 | 1 | deposit | 90 | debit |
| 2 | 1 | 2 | transfer | -60 | debit |
| 3 | 2 | 2 | deposit | 10 | debit |
| 4 | 2 | 2 | deposit | 20 | credit |
+----+---------+-------+------------------+--------+-----------+
Если я внесу депозит, он должен показать положительное значение, чтобы показать, что деньги были добавлены на мой счет, но если я делаю перевод, он должен использовать отрицательный баланс, чтобы показать, что деньги были удалены с моего счета. Проблема в том, что я не могу придумать вопрос, который добавил бы деньги на счет пользователя 2 после передачи пользователя 1, чтобы получить такое представление (в зависимости от типа карты):
-- Debit Balance Table
+---------+---------+
| user_id | balance |
+---------+---------+
| 1 | 30 |
| 2 | 70 |
+---------+---------+
-- Credit Balance Table
+---------+---------+
| user_id | balance |
+---------+---------+
| 1 | 0 |
| 2 | 20 |
+---------+---------+
Я знаю, что вы не можете добавить деньги на кредитный счет, но пока забудьте эту логику.