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

SUMAR Distintos Valores

Estas en el tema de SUMAR Distintos Valores en el foro de Mysql en Foros del Web. Hola a todos Tengo las siguientes tablas: producto: cod_producto marca articulo proveedor stock movimientos: cod_producto fecha transaccion cantidad Lo que ocurre es que un producto ...
  #1 (permalink)  
Antiguo 27/01/2010, 08:45
Avatar de juankcres  
Fecha de Ingreso: septiembre-2009
Mensajes: 88
Antigüedad: 14 años, 6 meses
Puntos: 2
SUMAR Distintos Valores

Hola a todos

Tengo las siguientes tablas:

producto:
  • cod_producto
  • marca
  • articulo
  • proveedor
  • stock

movimientos:
  • cod_producto
  • fecha
  • transaccion
  • cantidad

Lo que ocurre es que un producto puede ser igual a otro, es decir, pueden ser el mismo articulo, la misma marca pero distinto proveedor, por lo tanto tienen cod_producto distintos.

Lo que necesito es sacar un resumen de operación pero indicando cuanto es el stock total del mismo tipo de producto, es decir, mismo articulo, la misma marca

Al agruparlos no puedo sumar los stock porque el cod_producto se puede repetir y estaría duplicando el stock, si lo dejo sin sumar solo me va a mostrar el stock de uno de los cod_productos.

Por lo tanto necesito sumar los stock de todos los cod_productos que sean distintos

Les dejo la consulta que estaba probando pero como les dije anteriormente no me entrega el resultado esperado.

Código PHP:
SELECT pr.articuloSUM(mv.cantidad), pr.stock
FROM producto 
as prmovimientos as mv
WHERE pr
.cod_producto mv.cod_producto
AND mv.transaccion="venta"
GROUP BY pr.marcapr.articulo 
  #2 (permalink)  
Antiguo 27/01/2010, 09:03
 
Fecha de Ingreso: enero-2010
Ubicación: Estelí, Nicaragua
Mensajes: 157
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: SUMAR Distintos Valores

Hola Juankres,
que me corrijan los expertos, pero creo que tienes mal normalizada la tabla, ya que estas asignando un proveedor por producto, cosa que no sucede en la realidad.

creo que seria mejor que tuvieras un detalle de proveedores productos donde puedas especificar los productos que el proveedor tiene y asi estandarizar los productos.

esto te llevaria a controlar mejor lo que cada proveedor te entrega, ya que no lo harias por producto sino por proveedor.

espero haberme explicado bien cual es el punto.
  #3 (permalink)  
Antiguo 27/01/2010, 09:06
 
Fecha de Ingreso: enero-2010
Ubicación: Estelí, Nicaragua
Mensajes: 157
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: SUMAR Distintos Valores

producto

. codproducto
. marca
. articulo
. stock

Movimientos

* cod_producto
* fecha
* transaccion
* cantidad

proveedores
. codproveedor
. nombre
. detalles del proveedor

detalle-proveedores

. codproducto
. codproveedor

Creo que seria un esquema parecido a este.

Espero te sirva mi observacion.
  #4 (permalink)  
Antiguo 27/01/2010, 09:13
Avatar de juankcres  
Fecha de Ingreso: septiembre-2009
Mensajes: 88
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: SUMAR Distintos Valores

LeninCasco gracias por la respuesta pero las tablas ya están así y no se pueden cambiar, por eso es mi duda como puedo sumar los stock de los cod_productos distintos de los que cumplen las condiciones de igual marca y producto
  #5 (permalink)  
Antiguo 27/01/2010, 09:35
 
Fecha de Ingreso: enero-2010
Ubicación: Estelí, Nicaragua
Mensajes: 157
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: SUMAR Distintos Valores

Disculpa la pregunta anteriro no habia leido bien lo que escribiste.

hare un par de pruebas a ver si consigo el resultado que deseas.

Última edición por LENINCASCO; 27/01/2010 a las 09:41
  #6 (permalink)  
Antiguo 27/01/2010, 09:39
Avatar de juankcres  
Fecha de Ingreso: septiembre-2009
Mensajes: 88
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: SUMAR Distintos Valores

Exacto son iguales en la marca y el articulo, se diferencian en el proveedor
  #7 (permalink)  
Antiguo 27/01/2010, 09:51
 
Fecha de Ingreso: enero-2010
Ubicación: Estelí, Nicaragua
Mensajes: 157
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: SUMAR Distintos Valores

prueba la siguiente consulta y me comentas como te funciona con tus datos

Código MySQL:
Ver original
  1. select marca,articulo,sum(cantidad),stock from producto p
  2. inner join moviemientos m on m.codproducto=p.codproducto
  3. group by articulo;
  #8 (permalink)  
Antiguo 27/01/2010, 10:08
Avatar de juankcres  
Fecha de Ingreso: septiembre-2009
Mensajes: 88
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: SUMAR Distintos Valores

Igual que la que te puse antes
Código MySQL:
Ver original
  1. SELECT pr.articulo, SUM(mv.cantidad), pr.stock
  2. FROM producto as pr, movimientos as mv
  3. WHERE pr.cod_producto = mv.cod_producto
  4. AND mv.transaccion="venta"
  5. GROUP BY pr.marca, pr.articulo
La diferencia que no agrupa por marca
__________________
Sé fiel hasta la muerte, y yo te daré la corona de la vida.

Ap. 2:10
  #9 (permalink)  
Antiguo 27/01/2010, 10:45
 
Fecha de Ingreso: enero-2010
Ubicación: Estelí, Nicaragua
Mensajes: 157
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: SUMAR Distintos Valores

prueba esta
no se si es lo que quieres, yo estoy probando con datos ficticios y creo que funciona pero pruebala y me dices como te funciona.

Código MySQL:
Ver original
  1. select t1.codproducto,marca,sum(cant),sum(stock) from
  2. (select codproducto,sum(cantidad)cant from moviemientos m group by m.codproducto) as t1
  3. inner join producto p on p.codproducto=t1.codproducto
  4. group by marca;
  #10 (permalink)  
Antiguo 27/01/2010, 11:30
 
Fecha de Ingreso: enero-2010
Ubicación: Estelí, Nicaragua
Mensajes: 157
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: SUMAR Distintos Valores

La consulta que te envie solo seria agregarle la condicion de la transaccion,

pero probandola me he dado cuenta que el stock que toma es el que corresponde a codproducto y no las suma por las marcas

asi que estoy probando otras cosas.
  #11 (permalink)  
Antiguo 27/01/2010, 13:11
Avatar de juankcres  
Fecha de Ingreso: septiembre-2009
Mensajes: 88
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: SUMAR Distintos Valores

OK yo igual sigo probando otra solucion
__________________
Sé fiel hasta la muerte, y yo te daré la corona de la vida.

Ap. 2:10
  #12 (permalink)  
Antiguo 27/01/2010, 15:17
 
Fecha de Ingreso: enero-2010
Ubicación: Estelí, Nicaragua
Mensajes: 157
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: SUMAR Distintos Valores

no probaste la consulta que te di?
  #13 (permalink)  
Antiguo 27/01/2010, 15:48
Avatar de juankcres  
Fecha de Ingreso: septiembre-2009
Mensajes: 88
Antigüedad: 14 años, 6 meses
Puntos: 2
De acuerdo Respuesta: SUMAR Distintos Valores

Perdóname pero pensé que según tu comentario:

Cita:
Iniciado por LENINCASCO Ver Mensaje
La consulta que te envie solo seria agregarle la condicion de la transaccion,

pero probandola me he dado cuenta que el stock que toma es el que corresponde a codproducto y no las suma por las marcas

asi que estoy probando otras cosas.
No era la respuesta.

La probé con una tabla de prueba y me funciona bien pero no me queda claro el select que va después del from si me pudieras explicar lo que hace te lo agradecería.
__________________
Sé fiel hasta la muerte, y yo te daré la corona de la vida.

Ap. 2:10
  #14 (permalink)  
Antiguo 27/01/2010, 16:19
 
Fecha de Ingreso: enero-2010
Ubicación: Estelí, Nicaragua
Mensajes: 157
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: SUMAR Distintos Valores

si, pense que por eso no la habias probado...

bueno, el segundo select funciona como una tabla virtual
si las ejecutas por separado, te das cuenta de ello
entonces lo que hace es que tomas los campos de esa tabla virtual y puedes hacer lo que quieres con ellos

no se si me explico.

pero al fin esta completa la respuesta o seguimos con el problema de extraerlas por transaccion?
  #15 (permalink)  
Antiguo 27/01/2010, 16:54
Avatar de juankcres  
Fecha de Ingreso: septiembre-2009
Mensajes: 88
Antigüedad: 14 años, 6 meses
Puntos: 2
De acuerdo Respuesta: SUMAR Distintos Valores

LENINCASCO muchas gracias, ahora lo estoy tratando de aplicar la solución al caso real, a lo que lo tenga resultados te cuento.
__________________
Sé fiel hasta la muerte, y yo te daré la corona de la vida.

Ap. 2:10

Etiquetas: distintos
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 18:04.