我有表A,其中包含不同的名称,部门,州工作,以及一个名为收入的空字段。我有一个第二个表,其中有许多行,其中Name,Dept和State Worked匹配表A和收益字段。我想运行一个更新查询,该查询将汇总不同的名称,部门,州工作记录的收入,并将该值放在表A中的收入字段中。
表A:
Alan,Sales,CO
Alan,Sales,CA
Paul,Development,CO
Paul,Development,CA
表B:
Alan,Sales,CO,100美元
Alan,Sales,CO,150美元
Alan,Sales,CA,$ 200
Paul,Development,CO,100美元
Paul,Development,CA,$ 200
Paul,Development,CA,$ 300
期望结果(表A):
Alan,Sales,CO,250美元
Alan,Sales,CA,$ 200
Paul,Development,CO,100美元
Paul,Development,CA,$ 500
答案 0 :(得分:2)
UPDATE A
SET A.Earning = B.TotalEarning
FROM tableA A
INNER JOIN (SELECT Name, Dept, State , SUM(Earning) TotalEarning
FROM TableB
GROUP BY Name, Dept, State ) B
ON A.Name = B.Name
AND A.Dept = B.Dept
AND A.State = B.State