使用其他表中的AVERAGE值在ACCESS中进行UPDATE查询

时间:2018-12-10 11:36:45

标签: sql ms-access inner-join

我有两个简单的访问表。

Table 1包含项descriptionweight列。项目description并非唯一,因为weight略有不同。

Table 2用于保存weight中项目的平均table 1。在此表中,项目description是唯一的。

我无法在ACCESS中进行UPDATE查询。它表示查询不包含weight作为聚合函数的一部分。

当我尝试添加GROUP BY子句时,由于语法错误,它仍然不起作用。

任何人都知道可能是什么问题?

以下是查询:

UPDATE TABLE2 
INNER JOIN TABLE1 ON TABLE2.DESCRIPTION = TABLE1.DESCRIPTION
SET TABLE2.WEIGHT = AVG(TABLE1.WEIGHT)

2 个答案:

答案 0 :(得分:0)

fit()

答案 1 :(得分:0)

这里有更简单的方法-

您需要创建一个临时表或中间表来计算平均值。

您必须通过查询创建一个新表t3-

select TABLE1.DESCRIPTION,AVG(TABLE1.WEIGHT) as AVG_WEIGHT    
from TABLE1 
group by TABLE1.DESCRIPTION

然后您可以在更新查询中使用它

  UPDATE TABLE2 
    INNER JOIN TABLE3 ON TABLE3.DESCRIPTION = TABLE2.DESCRIPTION
    SET TABLE3.WEIGHT = TABLE2.WEIGHT