Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/06/2010, 16:40
mysql
 
Fecha de Ingreso: junio-2010
Mensajes: 11
Antigüedad: 14 años, 5 meses
Puntos: 0
Update con select anidado - Error

Esta es la estructura de la tabla
id_t nombre tarifa oficio id_supv
1235 M. FARADAY 12,5 ELECTRICISTA 1311
1311 C. COULOMB 15,5 ELECTRICISTA 1311
1412 C. NEMO 13,75 FONTANERO 1520
1520 H. RICKOVER 11,75 FONTANERO 1520
2920 R.GARRET 10 ALBAÑIL 2920
3001 J.BARRISTER 8,2 CARPINTERO 3231
3231 P.MASON 17,4 CARPINTERO 3231

la consulta a resolver es esta
Incrementar un 5% la tarifa de todos los trabajadores que supervisa C. COULOMB

la resuelvo de la siguiente forma
UPDATE `trabajador`
SET tarifa = tarifa * 1.05
WHERE id_supv = (SELECT id_t
FROM `trabajador`
WHERE nombre = 'C.COULOMB')

da el siguiente error
You can't specify target table 'trabajador' for update in FROM clause

por lo que vi en mysql no se puede utilizar la misma tabla en el from del select anidado del update. o sea no se puede seleccionar de la misma tabla de la cual se va actualizar.
como se podria resolver ? busque en google pero nada me convencio y/o ayudo.
gracias.