Como dice
gnzsoloyo, no puedes hacer
UPDATE FROM SUBCONSULTA
(ni
DELETE FROM SUBCONSULTA
), puesto que los UPDATES/DELETE deben efectuarse sobre tablas existentes, no sobre tablas virtuales (también llamadas
inline views o
derived tables). Ten en cuenta que las subconsultas devuelven siempre una tabla virtual.
Lo que debes hacer es un UPDATE JOIN.