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

Sumar ventas de cada BD diferentes por cada Dia

Estas en el tema de Sumar ventas de cada BD diferentes por cada Dia en el foro de Mysql en Foros del Web. Debería salir: Ventas ---- Ventas2 614.8 ---- 955.25 587.3 ---- 597.9 . ----------------- . . ----------------- . Pero Como resultado me sale (la suma de ...
  #1 (permalink)  
Antiguo 15/07/2016, 11:49
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años, 6 meses
Puntos: 3
Sumar ventas de cada BD diferentes por cada Dia

Debería salir:
Ventas ---- Ventas2
614.8 ---- 955.25
587.3 ---- 597.9
. ----------------- .
. ----------------- .
Pero Como resultado me sale (la suma de ventas por dia) * 2, Es decir:
Ventas ---- Ventas2
1845 ---- 1914.7
1174.6 ---- 597.9
. ----------------- .
. -----------------.

Como puedo solucionar.

Código MySQL:
Ver original
  1.     reportediario.`id_rd` AS reportediario_id_rd,
  2.     reportediario.`fecha` AS reportediario_fecha,
  3.     SUM(reportediario.`efectivo`) ventas,  
  4.     SUM(reportediario2.`efectivo`) ventas2  
  5.     BD1.`reportediario` AS reportediario
  6.     LEFT JOIN BD2.`reportediario` AS reportediario2 ON DATE(reportediario2.fecha) = DATE(reportediario.fecha)
  7.     GROUP BY DATE(reportediario_fecha) ORDER BY reportediario_id_rd DESC

Por que lo duplica?
__________________
Muy Feliz
  #2 (permalink)  
Antiguo 15/07/2016, 11:59
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Sumar ventas de cada BD diferentes por cada Dia

Estas haciendo el join por fechas, por lo que si 2 ids tienen la misma fecha entonces duplicara los resultados, por eso es que te sale doble, aqui lo recomendado seria hacer el join con otro campo por ejemplo id :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 15/07/2016, 12:24
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: Sumar ventas de cada BD diferentes por cada Dia

Gracias Libras, es que mi reporte es por fechas,
ventas de cada dia se debe Sumar, aqui estoy trabajado con 2 tiendas Diferentes

Pero si solo quiero el reporte de una tienda me funciona bien:
Mi problema es con 2 tiendas o varios tiendas

Código MySQL:
Ver original
  1.     reportediario.`id_rd` AS reportediario_id_rd,
  2.     reportediario.`fecha` AS reportediario_fecha,
  3.     SUM(reportediario.`efectivo`) ventas
  4.     BD1.`reportediario` AS reportediario
  5.     GROUP BY DATE(reportediario_fecha) ORDER BY reportediario_id_rd DESC
__________________
Muy Feliz
  #4 (permalink)  
Antiguo 15/07/2016, 12:36
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Sumar ventas de cada BD diferentes por cada Dia

lo que pasa es que como te dije estas haciendo un producto cartesiano uniendo las 2 tiendas de una misma fecha, aqui lo que podrias hacer es agrupar por fecha y por tienda :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 15/07/2016, 19:18
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: Sumar ventas de cada BD diferentes por cada Dia

No logro resolver
Uyuda por favor, Mis 3 DB en la imagen detalladamente



Aqui el contenido en la BD1 y algo parecido en BD2, que quiero que sume por fechas


Mi código que no funciona

Código MySQL:
Ver original
  1.     reportediario1.`id_rd` AS reportediario_id_rd,
  2.     reportediario1.`fecha` AS reportediario_fecha,
  3.     SUM(reportediario1.`efectivo`) reportediario_efectivo,  
  4.     SUM(reportediario2.`efectivo`) reportediario_efectivo2  
  5.     tiendas
  6.     LEFT JOIN Bd1.`reportediario` AS reportediario1 ON reportediario1.id_tiend = tiendas.id_tiend
  7.     LEFT JOIN Bd2.`reportediario` AS reportediario2 ON reportediario2.id_tiend = tiendas.id_tiend
  8.     GROUP BY DATE(reportediario_fecha) ORDER BY reportediario_id_rd DESC

Y como resultado me sale asi, Falta que sume también la columna reportediario_efectivo2
__________________
Muy Feliz

Última edición por soy_nicanor; 15/07/2016 a las 20:06

Etiquetas: bd, cada, dia, fecha, select, ventas
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 06:48.