我正在尝试使用另一个表中另一列的总和来执行更新语句。我想要
customer_ar.current_bal to = sum(ar_transaction.current_balance)作为测试我运行这个来制作…
如果您使用的是sql-server,则可以使用此脚本。
update customer_ar set current_bal = (select sum(current_balance) from ar_transaction T1 where T1.customer_id =customer_ar.customer_id) where customer_id in (1502,1329,3096,1516,3605);
我认为您需要对子查询中的行进行分组,以便为每个客户的事务构建总和。
也许这样的事情(只是为了得到这个想法):
update customer_ar p set current_bal = trans.sumBal from customer_ar c join (select customer_id, sum(current_bal) as sumBal from ar_transaction group by customer_id) trans on c.customer_id = trans.customer_id where p.customer_id = trans.customer_id;
http://sqlfiddle.com/#!17/3dd88/14
的 更新: 强> 很抱歉发布了这个无效的SQL。我刚修好了我的榜样。