Mysql 使用发票数据更新客户表
我有两张桌子:Mysql 使用发票数据更新客户表,mysql,sql,Mysql,Sql,我有两张桌子: 客户(客户ID、总销售额、总利润) 发票(客户ID、销售、利润) 发票可以为同一客户提供一对多发票 我试图从发票中计算总销售额和利润,并将其保存在客户中 我就在这里: select custid, sum(revenus), sum(profits) from invoices group by cust 它还给了我: CustId Revenus Profits 1 1000 200 2 2000 30
客户
(客户ID、总销售额、总利润)
发票
(客户ID、销售、利润)
发票可以为同一客户提供一对多发票
我试图从发票中计算总销售额和利润,并将其保存在客户中
我就在这里:
select custid, sum(revenus), sum(profits)
from invoices
group by cust
它还给了我:
CustId Revenus Profits
1 1000 200
2 2000 300
到目前为止还不错
我现在不知道的是如何在同一条语句中将数据推回给客户。我在想
udpate customers
set tot_revenus, tot_profits
select custid, sum(revenus), sum(profits)
from invoices
group by cust
但它不起作用
任何帮助都将不胜感激
谢谢您应该使用
更新加入
:
UPDATE Customers c
INNER JOIN (SELECT custId,sum(revenus) as sum_rev,sum(profits) as sum_prof
FROM Invoices
GROUP BY custId) i
ON(c.custId = i.custId)
SET c.tot_sales = i.sum_rev,
c.tot_profits = i.sum_prof
这将基本上根据创建的派生的
表(包含每个客户的总和)更新客户
表