Ver Mensaje Individual
  #13  
Antiguo 13-08-2013
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Reputación: 22
fjcg02 Va camino a la fama
Hola,
así a bote pronto creo que puedes sustituir el procedimiento almacenado por una vista. Después podrías hacer los filtros que quieras.
Para ello tendrías que incluir el campo id_bodega en la vista, ya que el campo id_clasificación ya lo tienes.

En definitiva, haz una vista con la consulta de las tablas insumos_servicios, clasificaciones, inventario, inventario_egreso, utiliza funciones de agregado y agrupa por id_item.

Código SQL [-]
select i_s.id_item, max(i_s.nombre) AS NOMBRE, max(i_s.id_clasificacion) AS ID_CLASIFICACION , coalesce(sum(inv.cantidad * inv.precio)/sum(iif(inv.cantidad = 0,1, 
          inv.cantidad)),0) AS PRECIO_MEDIO, coalesce(sum(inv.cantidad),0) AS CANTIDAD_INGRESO,
          coalesce(avg(inv_e.precio),0) AS PRECIO_EGRESO, coalesce(sum(inv_e.cantidad),0) AS CANTIDAD_EGRESO, max(id_bodega) AS ID_BODEGA

from insumos_servicios I_S
INNER JOIN clasificaciones c on c.id_clasificacion = i_s.id_clasificacion
INNER JOIN inventario inv on id_item = i_s.id_item
INNER JOIN inventario_egreso inv_e on id_item = i_s.id_item

where i_s.que_es = 'T' AND i_s.estructura = 0 
GROUP BY i_s.id_item

Te lo he puesto de memoria, seguro que hay algún fallo desintaxis.
Una vez tengas la vista, montas el filtro de las bodegas y/o agrupas por ellas.

Espero que te sirva.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -

Última edición por Casimiro Notevi fecha: 13-08-2013 a las 23:28:31.
Responder Con Cita