22,209
社区成员
发帖
与我相关
我的任务
分享
update dbo.OrdersAll
set a.[money]=a.[money]+isnull((select SUM([money]) from Orders
where OrdersAll.[user]=Orders.[user]),0)
update a
set a.[money]=a.[money]+isnull(b.qty,0)
from dbo.OrdersAll a
left join
(select [user],sum([money]) 'qty'
from Orders
group by [user]) b on a.[user]=b.[user]
update a set a.[money]=a.[money]+b.[money] from dbo.OrdersAll a,
(
select [user],sum([money]) as [money] from dbo.Orders group by [user]
)b where a.[user]=b.[user]
可以理解为两个表字段加和,由于Orders 是流水表,您需要处理一下,如下:
【select [user],sum([money]) as [money] from dbo.Orders group by [user]】
这个语句就是把流水表分组求和;然后再跟新订单总表。