Reporte de inventarios
Publicado por Alberto Valero (25 intervenciones) el 25/06/2009 21:02:35
Saludos,
Quisiera saber si me pueden ayudar con ese query, necesito que con una tabla de movimientos de inventarios se haga lo siguiente:
tabla mov inventarios:
fecha
producto inicial entradas salidas final
ej
25/06/2009 1 10 5 5 10
25/06/2009 2 5 2 3 4
26/06/2009 1 10 4 1 13
.................................................................................................
necesito un query que me saque la suma de esos productos por clave de un rango de fechas
ej de 25/06/2009 a26/06/2009
1 10 9 6 13
.. ... ......... .... .......
yo tengo este query pero no me los agrupa por clave sino por fecha? se supone que obtengo sumatoria de productos de tabla de inventario y en entradas y salidas hago un suquery de otras tablas de esos movimientos de esas claves y agrupo por clave sin embargo toma tantas claves tantas fechas halla!
SELECT mov_inventario.inv_clave_id, ISNULL(SUM(mov_inventario.inv_cantidad), 0) AS inicial,
ISNULL ((SELECT SUM(mov_cantidad) AS Expr1 FROM view_entradasinv WHERE (mov_clave_id = mov_inventario.inv_clave_id) AND (mov_fecha BETWEEN '6/22/2009 12:00:00 AM' AND '6/24/2009 9:51:01 AM')), 0) AS ENTRADAS,
ISNULL ((SELECT SUM(mov_cantidad) AS Expr1 FROM view_salidasinv WHERE (mov_clave_id = mov_inventario.inv_clave_id) AND (mov_fecha BETWEEN '6/22/2009 12:00:00 AM' AND '6/24/2009 9:51:01 AM')), 0) AS salidas,
ISNULL(mov_inventario.inv_cantidad, 0) + ISNULL ((SELECT SUM(mov_cantidad) AS Expr1 FROM view_entradasinv AS view_entradasinv_1 WHERE (mov_clave_id = mov_inventario.inv_clave_id) AND (mov_fecha BETWEEN '6/22/2009 12:00:00 AM' AND '6/24/2009 9:51:01 AM')), 0) - ISNULL ((SELECT SUM(mov_cantidad) AS Expr1 FROM view_salidasinv AS view_salidasinv_1 WHERE (mov_clave_id = mov_inventario.inv_clave_id) AND (mov_fecha BETWEEN '6/22/2009 12:00:00 AM' AND '6/24/2009 9:51:01 AM')), 0) AS final,
cat_producto.pro_nombre FROM mov_inventario LEFT OUTER JOIN cat_producto ON mov_inventario.inv_clave_id = cat_producto.pro_id LEFT OUTER JOIN cat_sucursal ON mov_inventario.inv_sucursal_id = cat_sucursal.suc_id WHERE (mov_inventario.inv_fecha BETWEEN '6/22/2009 12:00:00 AM' AND '6/24/2009 9:51:01 AM') group by inv_clave_id,pro_nombre,inv_cantidad
Quisiera saber si me pueden ayudar con ese query, necesito que con una tabla de movimientos de inventarios se haga lo siguiente:
tabla mov inventarios:
fecha
producto inicial entradas salidas final
ej
25/06/2009 1 10 5 5 10
25/06/2009 2 5 2 3 4
26/06/2009 1 10 4 1 13
.................................................................................................
necesito un query que me saque la suma de esos productos por clave de un rango de fechas
ej de 25/06/2009 a26/06/2009
1 10 9 6 13
.. ... ......... .... .......
yo tengo este query pero no me los agrupa por clave sino por fecha? se supone que obtengo sumatoria de productos de tabla de inventario y en entradas y salidas hago un suquery de otras tablas de esos movimientos de esas claves y agrupo por clave sin embargo toma tantas claves tantas fechas halla!
SELECT mov_inventario.inv_clave_id, ISNULL(SUM(mov_inventario.inv_cantidad), 0) AS inicial,
ISNULL ((SELECT SUM(mov_cantidad) AS Expr1 FROM view_entradasinv WHERE (mov_clave_id = mov_inventario.inv_clave_id) AND (mov_fecha BETWEEN '6/22/2009 12:00:00 AM' AND '6/24/2009 9:51:01 AM')), 0) AS ENTRADAS,
ISNULL ((SELECT SUM(mov_cantidad) AS Expr1 FROM view_salidasinv WHERE (mov_clave_id = mov_inventario.inv_clave_id) AND (mov_fecha BETWEEN '6/22/2009 12:00:00 AM' AND '6/24/2009 9:51:01 AM')), 0) AS salidas,
ISNULL(mov_inventario.inv_cantidad, 0) + ISNULL ((SELECT SUM(mov_cantidad) AS Expr1 FROM view_entradasinv AS view_entradasinv_1 WHERE (mov_clave_id = mov_inventario.inv_clave_id) AND (mov_fecha BETWEEN '6/22/2009 12:00:00 AM' AND '6/24/2009 9:51:01 AM')), 0) - ISNULL ((SELECT SUM(mov_cantidad) AS Expr1 FROM view_salidasinv AS view_salidasinv_1 WHERE (mov_clave_id = mov_inventario.inv_clave_id) AND (mov_fecha BETWEEN '6/22/2009 12:00:00 AM' AND '6/24/2009 9:51:01 AM')), 0) AS final,
cat_producto.pro_nombre FROM mov_inventario LEFT OUTER JOIN cat_producto ON mov_inventario.inv_clave_id = cat_producto.pro_id LEFT OUTER JOIN cat_sucursal ON mov_inventario.inv_sucursal_id = cat_sucursal.suc_id WHERE (mov_inventario.inv_fecha BETWEEN '6/22/2009 12:00:00 AM' AND '6/24/2009 9:51:01 AM') group by inv_clave_id,pro_nombre,inv_cantidad
Valora esta pregunta


0