Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/09/2013, 08:14
jp_developer
 
Fecha de Ingreso: enero-2013
Mensajes: 40
Antigüedad: 11 años, 3 meses
Puntos: 1
update con subconsulta

holas
bueno tengo un problemilla con una consulta.
tengo una db con una tabla entrevista que pertenecen a alumnos, se supone que siempre mostrara la ultima entrevista realizada a ese alumno,
Cita:
------------
entrevista
------------
-id_pk
-rutalumno_fk
-fecha
-observacion
-------------
entonses ya realizada la entrevista, solo queda actualizar el campo observacion (que este queda vacio al momento de realizar la entrevista), y se supone que tiene que actalizarse el ultimo registro de entrevista realizado para ese alumno.

pense en algo asi
Código MySQL:
Ver original
  1. UPDATE entrevista SET observacion='nueva observacion' where id_fk=(SELECT max(id_fk) FROM entrevista WHERE rutalumno_fk='22222222-2')

esa consulta es de acuerdo a la tabla que escribi arriba para que se entienda mi idea, originalmente esta es la consulta
Código MySQL:
Ver original
  1. update c_entrevista as e set e.ent_observaciones='nueva observacion'
  2. where e.ent_pk_id =(select max(ent_pk_id) from c_entrevista as cc where cc.ent_fk_alumno='22.222.222-2' )

pero no me funciona, me tira un error en el phpmyadmin (#1093 - You can't specify target table 'e' for update in FROM clause)

obviamente esto lo puedo hacer con 2 consultas distintas pero quiero optimizar codigo.
espero que me ayuden ya que nunca he echo una subconsulta en update y crei que la sintaxis era igual que en los select

Última edición por gnzsoloyo; 16/09/2013 a las 08:21