SQL Update Query使用多个字段

时间:2015-06-19 22:31:23

标签: sql sql-server sql-server-2008

我有表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

1 个答案:

答案 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