Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/01/2010, 17:06
Sofmundi
 
Fecha de Ingreso: enero-2010
Mensajes: 302
Antigüedad: 14 años, 3 meses
Puntos: 3
Exclamación Error de resta con inner join

hace como dos semana estaba pidiendo una ayuda con la resta de dos tablas cumpliendo algunas funciones por asi decirle, el caso es que me ayudaron con este codigo pero tengo un pequeño error

UPDATE activo INNER JOIN
(SELECT max(id_requisicion), t1.descripcion, t1.cantidad FROM
(SELECT id_requisicion, descripcion, cantidad FROM `facturas2`
ORDER BY id_requisicion DESC)t1 // hasta aca el escoge el ultimo numero que este en id_requisicion asi esten repetidos y escoge tambien los campos para que se cumpla la orden,

pero al agregar este codigo realiza la resta de todos los articulos que esten en la tabla2 "es donde se guarda lo que se vende" a la tabla1 "la cual es la que almacena todos los articulos", en pocas no realiza la operacion como se supone viene que es restar la cantidad de la tabla2 a la tabla1 mirando que la descripcion de la tabla2 sea la misma a la descripcion de la tabla1

GROUP BY t1.cantidad, t1.descripcion)t2 ON
activo.descripcion = t2.descripcion
SET activo.cantidad = activo.cantidad - t2.cantidad

no se si dentro de Group by se puede colocar un select max si es asi me podrian decir como se hace, les agradezco esta ayuda a ca le dejo el codigo completo

UPDATE activo INNER JOIN
(SELECT t1.descripcion, t1.cantidad FROM
(SELECT max(id_requisicion), descripcion, cantidad FROM `facturas2`
ORDER BY id_requisicion DESC)t1
GROUP BY t1.cantidad, t1.descripcion)t2 ON
activo.descripcion = t2.descripcion
SET activo.cantidad = activo.cantidad - t2.cantidad

Última edición por Sofmundi; 31/01/2010 a las 17:12 Razón: correcion