2014-05-30 2 views
0

Итак, у меня есть две таблицы, InTheMiddle и Table2.
1-й содержит колонку Name, второй содержит ID и Name столбцы.
(у них также есть другие столбцы, но не имеет отношение к этому вопросу)Как обновить поле в таблице на основе поля из другой таблицы

Я хочу, чтобы обновить/изменить имена в 1-й таблице с идентификаторами из второго, но, конечно, только тогда, когда имена совпадают, и есть только одно имя (поэтому нет точек с запятой ";").

Вот запрос, который я пытался использовать, но доступ говорит мне «В операции должен использоваться обновляемый запрос»

UPDATE InTheMiddle 
SET [Name] = 
(SELECT [Table2].ID 
    FROM [Table2] 
    WHERE InTheMiddle.[Name] = [Table2].[Name] 
    AND InTheMiddle.[Name] NOT LIKE "*;*" 
); 

ответ

0

Возможный дубликат Operation must use an updatable query. (Error 3073) Microsoft Access, в котором принято решение предполагает, что единственный способ избежать этого сообщение об ошибке - использовать временные таблицы.

Кроме принятого ответа, this answer предлагает обходной код для вашего кода

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