Переместите подзапрос к предложению FROM
:
UPDATE COMPANY C CROSS JOIN
(SELECT AVG(SALARY) AS AVG_SALARY FROM COMPANY) a
SET C.SALARY = C.SALARY + (C.SALARY * 0.05)
WHERE POSITION IN ('DOCTOR', 'ENGINEER') AND
C.SALARY < a.AVG_SALARY;
Примечание. Возможность ссылаться на обновляемую таблицу является ограничением MySQL.К счастью, он позволяет использовать JOIN
с в UPDATE
с (и DELETE
с).