使用查询更新现有记录。

时间:2011-10-18 07:05:53

标签: sql ms-access select

基本上,我有一个包含大量记录(10,000 +)的数据表

它们都有4个共同的字段,必须输入数据。唯一数据是TIME。

我已经完成了一个组排序查询,该查询已根据这4个字段识别出该组的数据,然后计算每个组的平均时间。

我现在需要在表格中重新插入平均时间与实时时间,以便可以根据其类型的平均值来评估每个单独记录的时间。

例如,查询中的一个组将具有结果

Process1,Week2,Operator3,Shift4,AvgOfTIME = 120.70

然后需要将该平均时间重新插入到符合这些条件的所有记录中,但是要为每个组结果和记录执行此操作。

这甚至可能吗?

1 个答案:

答案 0 :(得分:2)

您需要更新表使用子查询

update t1 set t1.timefield = s2.AvgOfTIME
from yourtable t1
inner join 
(
  -- you query for calculating avg time
)
as t2
on t1.Process1 = t2.Process1 and t1.Week2 = t2.Week2 and t1.Operator3 = t2.Operator3 and       t1.Shift4 = t2.Shift4