每一题-104(银行账户概要)
题104:
根据下面两表写一条 SQL 语句,查询:
user_id 用户 IDuser_name 用户名credit 完成交易后的余额credit_limit_breached 检查是否透支 (“Yes” 或 “No”)
其中:
Users表:user_id 是主键,表中的每一列包含每一个用户当前的额度信息;Transactions表:trans_id 是主键,表中的每一列包含银行的交易信息,ID 为 paid_by 的用户给 ID 为 paid_to 的用户转账。
解题思路: (1)分别根据出账和进账分组求和,支出金额取反; (2)利用union将(1)的进账和出账联合,再次分组求出每个用户的账户总金额; (3)做左连接,还需要考虑null求和。
select
u.user_id,
u.user_name,
credit+ifnull(`amts`,0) credit,
共有 0 条评论