2012-03-16 127 views
0

我有一个关于在MS Access更新与不同的价值观多行的问题2010年的Microsoft Access 2010 - 更新有着不同的价值观多行一个查询

Table 1: Food 
ID | Favourite Food 
1 | Apple 
2 | Orange 
3 | Pear 

Table 2: New 
ID | Favourite Food 
1 | Watermelon 
3 | Cherries 

现在,它看起来看似简单的分别执行这些(因为这只是一个例子)。但是,如果我有500行更新1000条记录,那么我将如何同时执行它们中的大部分。

所以我想要做的是根据“新”表中的新值更新“食物”表。

将不胜感激,如果任何人都可以给我一些指导/语法,这样我可以测试出来的MS Access 2010中如果需要VBA,确实提供了一些样品我应该如何从事这项运动编程,不用手动语句由-声明。

谢谢!


附录(真实数据)

Table: Competitors 
Columns: CompetitorNo (PK), FirstName, LastName, Score, Ranking 

query: FinalScore 
Columns: CompetitorNo, Score, Ranking 
  • 注意 - 此查询是另一个查询,而这又是另一个查询的查询(可以在这里有一个潜在的问题的查询?至少有4个查询导出这一FinalScore查询之前,我应该张贴他们?)

在竞争对手的表,除了“分数”和“排名”被填充的所有列。我们需要从FinalScore查询中获取这些值,并将其插入到相关的竞争对手列中。


附录(简查询的说明)

Table: Competitors 
Columns: CompetitorNo (PK), FirstName, LastName, Score, Ranking 
Sample Data: AX1234, Simpson, Danny, <blank initially>, <blank initially> 

Table: CompetitionRecord 
Columns: EventNo (PK composite), CompetitorNo (PK composite), Timing, Bonus 
Sample Data1: E01, AX1234, 14.4, 1 
Sample Data2: E01, AB1938, 12.5, 0 
Sample Data3: E01, BB1919, 13.0, 2 

事件没有指定唯一的事件ID 定时测量运行200米所花费的时间。越小,越好。 奖励可以在3个值中给出(0 - 不合格,1 - 正常,2 - 特殊)。特殊竞争对手获得奖励积分(5%的时间)。

Query: FinalScore 
Columns: CompetitorNo (PK), Score, Ranking 

得分以胜算。例如,在上述事件(E01)中,有三个竞争者。该事件的获胜者是BB1919。获胜者获得1分。失败者没有得到任何积分。那些被取消资格的人也没有得到任何分数。

此查询列出竞争对手及其累积得分(来自许多事件的列表 - E01,E02,E03等),并在每次执行查询时计算其在排名列中的排名。 (例如,一个获得最多200米赛事的人将位于此列表的顶部)。

现在,我需要用这些信息更新竞争对手表。查询相当复杂 - 包含所有分组,总结,排名和whatnots。因此,我不得不创建多个查询来实现最终结果。

+0

你的问题并不明确。你是否希望将table2中的值插入到table1中?你是否希望匹配ID并添加etra列(不是一个好主意)。如果你对此不熟悉,虚构数据很可能无益。真正的数据几乎总是一个好主意。 – Fionnuala 2012-03-16 10:12:00

+0

是的,我想将“新”的值插入“食物”中。 – JTJM 2012-03-16 10:14:33

+0

新的食物表应该如下所示:1,西瓜,2橙,3樱桃。 – JTJM 2012-03-16 10:14:56

回答

0

如何:

UPDATE Food 
INNER JOIN [New] 
ON Food.ID=New.ID 
SET Food.[Favourite Food] = New.[Favourite Food] 
+0

谢谢。 不幸的是,执行语句后,我从MS Access中得到一个错误对话框。 “操作必须使用可更新的查询。” – JTJM 2012-03-16 10:25:06

+0

会错误的,我已经使用的查询,而不是表的事实造成的? ([新] =另一个表的查询) – JTJM 2012-03-16 10:34:45

+0

这就是虚构数据的问题。你有两个ID列索引? ID列是唯一的。 – Fionnuala 2012-03-16 10:35:30

相关问题