Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Error de resta con inner join

Estas en el tema de Error de resta con inner join en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 31/01/2010, 17:06
 
Fecha de Ingreso: enero-2010
Mensajes: 302
Antigüedad: 10 años
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
  #2 (permalink)  
Antiguo 02/02/2010, 16:33
 
Fecha de Ingreso: enero-2010
Mensajes: 302
Antigüedad: 10 años
Puntos: 3
Exclamación Respuesta: Error de resta con inner join

bueno esta mirando y tengo una duda

al aplicar este codigo directamente en mysql me muestra todos los datos que esten en facturas2 y creo q lo que deberia hacer es mostrarme solo el que tenga mayor valor dentro del campo facturas2.id_requisicion

(SELECT max(t1.id_requisicion), t1.unidad, t1.descripcion, t1.cantidad FROM
(SELECT id_articulo, id_requisicion, unidad, descripcion, cantidad FROM `facturas2`
ORDER BY id_requisicion DESC)t1
GROUP BY t1.cantidad, t1.id_requisicion, t1.descripcion)

este es el codigo general que me realiza la operacion de la resta

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

Etiquetas: join
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:57.