2012-03-16 38 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

相關問題