有两张表1.卡表
1)卡号
2)积分2.消费表
1)卡号
2)消费金额消费表里的卡号可能是有多条重复的(多次消费)我想写一个sql语句把消费金额累加后(多条的情况下,一条就不用累加了)
加到卡表里的积分中谢谢各位,解决就给分
1)卡号
2)积分2.消费表
1)卡号
2)消费金额消费表里的卡号可能是有多条重复的(多次消费)我想写一个sql语句把消费金额累加后(多条的情况下,一条就不用累加了)
加到卡表里的积分中谢谢各位,解决就给分
set a.积分=a.积分+b.sum消费金额
update 卡表
set 积分=积分+(select sum(消费金额) from 消费表 where 卡号=卡表.卡号)
这种写法有错的,若卡表中有的记录而在对应消费表里没有对应记录的话,则会将卡表中原来有的数据更新为null的,请注意!!!
set 积分=积分+(select sum(消费金额) from 消费表 where 卡号=卡表.卡号)
where exists (select 1 from 消费表 where 卡号=卡表.卡号)
如果消费表没有对应消费记录可以默认消费金额为0
ifnull(消费金额,0)