2015-05-29 55 views
0

使用SQL Server精简版(2008 R2)总销售金额和总更新到另一个表

  1. 表(CustomerOrders
  2. PK(客户:SID,订单:Customer_SID

我要总结的Orders.Sales_Amount和写入基础上,SID S中的总数变为Customer.Sales_Total

我必须错误地使用inner join语句,因为我在FROM语句中出现错误。

UPDATE customer 
SET sales_total = aggr.sales_total 
FROM customer 
INNER JOIN (
    SELECT sid 
     ,sum(sales_amount) sales_total 
    FROM customer 
    INNER JOIN orders 
     ON (customer.sid = orders.customer_Sid) 
    GROUP BY customer.sid 
    ) aggr 
    ON customer.sid = aggr.sid; 

回答

1

没有完成更新的更简单的方法你是后:

UPDATE customer 
SET sales_total = (SELECT SUM(sales_amount) 
        FROM orders 
        WHERE orders.customer_Sid = customer.sid) 

Demo here