+--------------+---------+
| Column Name | Type |
+--------------+---------+
| user_id | int |
| user_name | varchar |
| credit | int |
+--------------+---------+
user_id 是这个表的主键。
表中的每一列包含每一个用户当前的额度信息。
交易表:Transactions
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| trans_id | int |
| paid_by | int |
| paid_to | int |
| amount | int |
| transacted_on | date |
+---------------+---------+
trans_id 是这个表的主键。
表中的每一列包含银行的交易信息。
ID 为 paid_by 的用户给 ID 为 paid_to 的用户转账。
select user_id, user_name,
credit + ifnull(sum(if(t.paid_by = u.user_id, -amount,amount)),0) credit,
if(credit + ifnull(sum(if(t.paid_by = u.user_id, -amount,amount)),0)<0,'Yes','No') credit_limit_breached
from Transactions t right join Users u on t.paid_by = u.user_id or t.paid_to = u.user_id
group by user_id