Как исправить синтаксическую ошибку в запросе на обновление (отсутствует оператор) - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь обновить таблицу progress_report, выполнив приведенный ниже запрос, но при запуске я получаю следующее: Синтаксическая ошибка (отсутствует оператор) в выражении запроса

Я пробовал разные варианты кода, но приведенный ниже является настолько верным, насколько я верю.

UPDATE progress_report AS per  
INNER JOIN cs_t AS cs ON per.person_id = cs.person_id
LEFT JOIN is_t AS ifaf ON cs.inst_id = ifaf.is_id
SET per.verif_status = cs.verif_status,
per.inst_id = cs.inst_id,
per.inst_type = ifaf.is_type
WHERE cs.yr = '2018'

Запрос выполняется без левого соединения, но мне нужно присоединиться к таблице is_t, чтобы заполнить per.inst_type. Итак, я предполагаю, что ошибка лежит в левом соединении.

1 Ответ

1 голос
/ 09 июля 2019

Access имеет специальный синтаксис, когда дело доходит до объединений, в отличие от других dbms.
Круглые скобки необходимы для включения каждого соединения перед началом другого:

UPDATE (progress_report AS per  
INNER JOIN cs_t AS cs ON per.person_id = cs.person_id)
LEFT JOIN is_t AS ifaf ON cs.inst_id = ifaf.is_id
SET per.verif_status = cs.verif_status,
per.inst_id = cs.inst_id,
per.inst_type = ifaf.is_type
WHERE cs.yr = '2018' 
...