日期:2014-05-18  浏览次数:20476 次

用一个sql语句生成查询结果?
发卡表
id 卡号 卡名 首次金额 剩余金额
1 9120252       贵宾金卡     88888 7249
2 9135179       银卡             98 198

卡充值表
id   卡号 充值金额
1 9120252       100
2 9120252       200
2 9135179       500

消费表
id   卡号 消费金额
1 9135179       100
2 9135179       20
3 9120252       60


由以上三表统计出结果:

卡号 卡名 首次金额 充值金额 消费金额 剩余金额 平衡
9120252       贵宾金卡 8888 300 60 7249 false
9135179       银卡   90 500 120 470 true

------解决方案--------------------
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.卡号

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