2017-01-12 3 views
-1

У меня возник вопрос о том, как писать запрос в Access, когда в таблице дублируются записи.Обновление Access/SQL с дублирующимися записями

Скажем, если у меня есть следующие две таблицы, table1 это таблица, я хотел бы обновить путем сопоставления field1 к field1 в table2 и обновить соответствующую field2 значение. Однако, если в table2 имеется несколько записей соответствия, я хотел бы обновить их в алфавитном порядке.

Не могли бы вы показать мне, как это сделать? SQL-код будет высоко оценен.

Таблица1

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

Table2

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

Большое спасибо Джонни. Я попытался использовать ваш предложенный код, но, похоже, был возвращен результат только для женского имени top 1 (результаты мужского имени не отображаются). Не могли бы вы объяснить, почему это может быть? Благодаря! –

Смежные вопросы