当对当前表进行更改时,更新另一个表中的总计

时间:2014-09-30 17:24:05

标签: sql ms-access sql-update ms-access-2013

我有这张桌子

ID       Name      Price

 1       John        12 €
 2       John        35 €
 3       Alex        15 €
 4       Alex        12 €
 5       James       10 €

我需要一个更新另一个表中字段的查询,总结价格字段中具有相同名称的所有值。例如,在这种情况下查询的结果将是:

ID       Name      Price

 1       John        47 €
 2       Alex        27 €
 3       James       10 €

3 个答案:

答案 0 :(得分:0)

INSERT INTO tableName2(name, price)
SELECT name, SUM(price) FROM tableName
GROUP BY name

TableName2是您在问题上写的第二个表,而tableName是第一个表。

请注意,这会将它们添加到表中,而不是真正更新(因为否则您必须手动插入所有数据)。

答案 1 :(得分:0)

SELECT ID,Name, SUM(Price)
FROM table
GROUP BY Name

OR

SELECT 
a.id, a.name, sum(b.price)
FROM 
table a INNER JOIN table b ON a.name = b.name
group by a.nid

答案 2 :(得分:0)

使用Access 2010及更高版本,我们可以使用Data Macros来完成此任务:

MacroList.png

AfterDelete.png

AfterUpdate.png

AfterInsert.png

UpdateOtherTable.png