Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/07/2011, 18:18
Sofmundi
 
Fecha de Ingreso: enero-2010
Mensajes: 302
Antigüedad: 14 años, 3 meses
Puntos: 3
Respuesta: Actualizar campos seleccionando id mayor

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No puedes leer y modificar una tabla en la misma consulta. Son operaciones contradictorias. MySQL no puede adivinar qué vas a modificar, por eso no te deja hacerlo.

Además de eso, hay funciones diferentes para obtener horas y días. NOW() te devuelve un sólo objeto DATETIME, mientras que tu quieres obtenerlos por separado.
Revisa las funciones de MySQL:
MySQL::Capítulo 12. Funciones y operadores

El valor a buscar lo tienes que obtener previamente para luego usarlo.
Código MySQL:
Ver original
  1. UPDATE `sesiones` SET fechasalida=CURDATE(), horasalida=CURTIME()
  2. WHERE id=valorbsucado;
Pero esto se puede usar con un inner Join como lo utilize aca
Código PHP:
$nueva_cantidad mysql_query ("UPDATE `activo` INNER JOIN (SELECT t1.id_requisicion, t1.descripcion, t1.cantidad, t1.id_articulo FROM (SELECT id_requisicion, descripcion, cantidad, id_articulo FROM facturas2 
WHERE id_requisicion = (select max(id_requisicion) from facturas2) 
)t1 GROUP BY t1.cantidad, t1.descripcion)t2 ON
activo.descripcion = t2.descripcion
SET activo.cantidad = activo.cantidad - t2.cantidad"
); 
pero en este caso no se como aplicarlo para que me haga lo que necesito me bloque, me confundi