2017-01-12 173 views
-1

我有一個關於如何在表中存在重複記錄時在Access中編寫查詢的問題。重複記錄訪問/ SQL更新

說,如果我有以下兩個表格,table1就是我想通過table2匹配field1field1更新,並更新相關的field2值的表。但是,如果在table2中有多個匹配記錄,我想根據值的字母順序進行更新。

你能告訴我怎麼做嗎? SQL代碼將不勝感激。

表1

Field1  |Field2 
------------------ 
Male name |? 
Female name|? 

表2

Field1  |Field2 
-------------------- 
Male name | Alex 
Male name | Ben 
Female name| Diana 
Female name| Cindy 

求購結果:

表1

Field1  |Field2 
------------------ 
Male name | Alex 
Female name| Cindy 

回答

0

似乎是一個很好的時間使用Top N predicate

Select Top 1 Table1.Field1, Table2.Field2 
From Table1 
Left Join Table2 
    on Table1.Field1 = Table2.Field1 
Order by Table1.Field1, Table2.Field2 ASC 

通過使用Order By,您可以按字母順序排序數據,然後使用Top N來取第一條記錄。

+0

非常感謝Johnny。我試圖使用你建議的代碼,但似乎只返回了女性名字前1的結果(男性名字結果沒有出現)。你有任何解釋,爲什麼它可能是案件?謝謝! –