【发布时间】:2018-11-08 19:15:31
【问题描述】:
我有一个这样设置的事务表:
-- 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 |
+----+---------+-------+------------------+--------+-----------+
如果我存入它应该显示一个正值以表明钱已添加到我的帐户中,但如果我进行转帐它应该使用负余额表明钱已从我的帐户中删除。问题是,我想不出一个查询会从用户 1 的转移中将钱添加到用户 2 的账户以产生这样的视图(基于卡类型):
-- Debit Balance Table
+---------+---------+
| user_id | balance |
+---------+---------+
| 1 | 30 |
| 2 | 70 |
+---------+---------+
-- Credit Balance Table
+---------+---------+
| user_id | balance |
+---------+---------+
| 1 | 0 |
| 2 | 20 |
+---------+---------+
我知道您不能将钱添加到信用帐户,但现在忘记这个逻辑。
【问题讨论】: