Principales respuestas
Query que retorne la suma de las ventas y las compras de un producto

Pregunta
-
Hola, tengo estas dos tablas
Compras (idcompra, idproducto,cantidad)
Ventas (idventa,idproducto,cantidad)
Producto(idproducto, descripcion)
Cuando hago este query, los valores de las sumas que me retorna son erroneos.
select p.descripcion,sum(dc.cantidad) as compras,sum(df.cantidad) as ventas from Producto P join Detalle_Compra Dc on P.id_producto=dc.id_producto join Detalle_Factura df on P.id_producto=df.id_producto group by p.descripcion
Alguna sugerencia de como podría solucionar este problema.
Respuestas
-
Cálcula por separado la sumatoria de las operaciones, por ejemplo:
SELECT p.descripcion, COALESCE(dc.Compras, 0), COALESCE(df.Ventas, 0) FROM Producto p LEFT JOIN ( SELECT id_producto, SUM(cantidad) Compras FROM Detalle_Compra GROUP BY id_producto ) dc ON p.id_producto = dc.id_producto LEFT JOIN ( SELECT id_producto, SUM(cantidad) Ventas FROM Detalle_Factura GROUP BY id_producto ) df ON p.id_producto = df.id_producto GO
Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.- Editado Willams Morales sábado, 12 de agosto de 2017 5:58
- Marcado como respuesta Argenis R R sábado, 12 de agosto de 2017 12:51
Todas las respuestas
-
Cálcula por separado la sumatoria de las operaciones, por ejemplo:
SELECT p.descripcion, COALESCE(dc.Compras, 0), COALESCE(df.Ventas, 0) FROM Producto p LEFT JOIN ( SELECT id_producto, SUM(cantidad) Compras FROM Detalle_Compra GROUP BY id_producto ) dc ON p.id_producto = dc.id_producto LEFT JOIN ( SELECT id_producto, SUM(cantidad) Ventas FROM Detalle_Factura GROUP BY id_producto ) df ON p.id_producto = df.id_producto GO
Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.- Editado Willams Morales sábado, 12 de agosto de 2017 5:58
- Marcado como respuesta Argenis R R sábado, 12 de agosto de 2017 12:51
-
-