Сообщение об ошибке совершенно ясно, что вы не можете использовать ту же таблицу в предложении UPDATE
, а также источник подзапроса. Есть и другие способы достижения этого, например использование производных таблиц и т. Д. В этом конкретном случае вам просто нужно JOIN
между двумя таблицами.
Также, пожалуйста, не используйте Старые неявные объединения на основе запятой и переключитесь на Современный Явный Join
синтаксис на основе
В случае многостоловых запросов рекомендуется использовать Псевдоним для удобочитаемости кода и предотвращения неоднозначного поведения.
Исходя из ваших дальнейших разъяснений в комментариях , попробуйте следующее:
UPDATE WORLD_TEST AS wt
JOIN WORLD_TEST_PROGRAMMER AS wtp
ON wt.LVL_PROGRAMMER = wtp.LVL
SET wt.PROGRAMMER = wtp.RECURSE_HOUR
WHERE wtp.MAX_RECURSE >= (wt.PROGRAMMER + (wtp.RECURSE_HOUR/360))