Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/08/2012, 02:51
pcid
Usuario no validado
 
Fecha de Ingreso: abril-2008
Mensajes: 50
Antigüedad: 16 años
Puntos: 16
Respuesta: Update con Subconsulta

Hola...

A partir de lo que mencionas, he probado esto:

Código SQL:
Ver original
  1. CREATE TABLE  fdw_example2 (  
  2.   id_rutas INT(10) NOT NULL,
  3.   id_ruta_destino INT(10) NOT NULL,
  4.   id_rutas_destino INT(10) NOT NULL,
  5.   ruta_intermedia INT(10) NOT NULL,
  6.   id_rutinter INT(10) NOT NULL,
  7.   ord_visual INT(10) NOT NULL
  8. ) ENGINE=InnoDB  DEFAULT CHARSET=latin1;
  9.  
  10. UPDATE fdw_example2 SET ruta_intermedia = -2
  11. WHERE id_rutinter =
  12. (SELECT id_rutinter
  13.         FROM (SELECT id_rutas, id_ruta_destino, ruta_intermedia, id_rutinter, ord_visual
  14.                 FROM fdw_example2
  15.                 WHERE id_rutas = id_ruta_destino
  16.                         AND id_rutas= -1
  17.                         AND id_rutas_destino=-3
  18.                         AND ord_visual=2
  19.             ) AS alias_rut_intermedia
  20. );

Hay un campo "id_rutas_destino" que no tengo claro si debe o no debe existir en la tabla. Yo lo agregue a la tabla de pruebas por si acaso. Si se hace referencia a un campo no existente, el error es distinto al que estás recibiendo.

El asunto es que no recibo error de sintaxis al probar ese UPDATE.

Te sugiero que verifiques el comando. Talvez una de las variables que utilizas va vacía o con algún valor no válido. Tiene pinta de ser PHP lo que utilizas, así que con poner un "echo $update_rut_inter1.'<br/>';" debería bastar para ver exactamente como está saliendo la sentencia SQL.

O publica el SQL de la tabla con unos cuantos registros para probar a ver si te puedo ayudar a encontrar el error.