读书人

用一个sql语句生成查询结果?解决方案

发布时间: 2012-01-23 21:57:28 作者: rapoo

用一个sql语句生成查询结果?
发卡表
id卡号卡名首次金额剩余金额
19120252 贵宾金卡 888887249
29135179 银卡 98198

卡充值表
id 卡号充值金额
19120252 100
29120252 200
29135179 500

消费表
id 卡号消费金额
19135179 100
29135179 20
39120252 60


由以上三表统计出结果:

卡号卡名首次金额充值金额消费金额剩余金额平衡
9120252 贵宾金卡8888300607249false
9135179 银卡 90500120470true

[解决办法]
select a.卡号,a.卡名,a.首次金额,b.充值金额,c.消费金额,a.剩余金额 from 发卡表 a,
(select 卡号 , sum(充值金额) as 充值金额 from 卡充值表 group by 卡号) b,
(select 卡号 , sum(消费金额) as 消费金额 from 消费表 group by 卡号) c
where a.卡号 = b.卡号 and a.卡号 = c.卡号

至于你的平衡一栏是怎么来的?

读书人网 >SQL Server

热点推荐