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

Agrupar datos de 2 tablas

Estas en el tema de Agrupar datos de 2 tablas en el foro de Bases de Datos General en Foros del Web. Holas tengo dos tablas detallesVENTAS con los campos dvprecio,dvproducto,dvcant,dvfecha. y otra tabla detallesCOMPRAS con los campos dvprecio,dvproducto,dvfecha....... ademas filtrado por un rango de fechas. Lo ...
  #1 (permalink)  
Antiguo 24/07/2012, 14:43
 
Fecha de Ingreso: julio-2009
Mensajes: 44
Antigüedad: 15 años, 4 meses
Puntos: 0
Agrupar datos de 2 tablas

Holas

tengo dos tablas detallesVENTAS con los campos dvprecio,dvproducto,dvcant,dvfecha. y otra tabla detallesCOMPRAS con los campos dvprecio,dvproducto,dvfecha....... ademas filtrado por un rango de fechas.

Lo que deseo mediante un select es:

detallesventas.Dvproducto, Sum(detallesventas.dvcant), Avg(detallesventas.dvprecio) , Avg(detallescompras.dvprecio)
---------------------------------------------------------------------
Utlizo algo asi:
SELECT V.DVPRODUCTO AS Producto,SUM(v.DVCANT)as CantVenta,Avg(v.dvprecio) as Precioventa
FROM DETALLESVENTAS V INNER JOIN DetallesCompras C On V.dvproducto = C.dvproducto
GROUP BY V.DVPRODUCTO
ORDER BY v.Dvproducto
----------------------------------------------------------------------
PERO NO PUEDO AGREGAR EL PROMEDIO DE PRECIO DE LA TABLA DETALLESCOMPRAS. COMO LO HAGO??? TENIENDO EN CUENTA QUE EN ALGUNOS CASOS EL PROMEDIO DE LOS PRECIOS DE COMPRA ES CERO PORQUE NO SE REALIZARON COMPRAS EN EL RANGO DE FECHAS SELECCIONADOS Y DEBE JALAR EL ULTIMO PRECIO DE COMPRA
  #2 (permalink)  
Antiguo 24/07/2012, 17:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Agrupar datos de 2 tablas

Un detalle: Estás mezclando caballos con manzanas y tratando de sacar castores.
No puedes relacionar las compras con las ventas entre sí porque son conceptos diferentes. Y menos usando INNER JOIN, ya que para relacionarlos ambos items deberían existir obligatoriamente en ambas tablas.
¿Y si vendes un producto, pero no tienes compras para el período? Entonces no saldrá ese producto.
Para hacer ese tipo de reporte necesitas la tabla de productos, y debes usar LEFT JOIN con ella, no INNER JOIN.
Pero también parece que confundieras el detalle de compras con un stock, cuando el stock de productos debería ser una tabla independiente... Tengo la impresión de que hay errores de diseño en esa base.
¿Podrías darnos un detalle de las tablas que manejan el stock, las compras y las ventas, para sugerirte una consulta eficiente?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 24/07/2012, 21:09
 
Fecha de Ingreso: julio-2009
Mensajes: 44
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Agrupar datos de 2 tablas

Gracias por responder, el negocio es una ferretería y los campos en común es el producto. aquí si te entiendo debo trabajar con la tabla productos. lo que pasa es que deseo obtener el precio promedio venta(tabla detalles ventas) y compra(tabla detalles compra) para luego multiplicar por la cantidad que se vendió y averiguar la ganancia por producto.

algo así

PRODUCTO PRE_VENTA CANTVENTA PRE_COMPRA VENTAS COMPRAS GANAN
Caño 5 10 3.7 50 37 13

Etiquetas: agrupar, der, tabla, tablas, campos
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 14:40.