Ver Mensaje Individual
  #28  
Antiguo 29-01-2009
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Reputación: 20
mjjj Va por buen camino
Hola pude solucionar mi problema con el siguiente codigo

Código SQL [-]
select i.cod_insum,i.nom_insum, i.unidad, i.CRITICO, i.rotacion,
(sum( iif(M.tipo = 'I', CANTIDAD,0))) as INGRESO,
(sum( iif(M.tipo= 'E',  CANTIDAD,0))) as EGRESO,
((sum( iif(M.tipo = 'I', CANTIDAD,0))) - (sum( iif(M.tipo = 'E', CANTIDAD,0)))) AS SALDO,
((sum( iif(M.tipo = 'I', PRECIO*CANTIDAD,0))) - (sum( iif(M.tipo = 'E', PRECIO*CANTIDAD,0))))/
(IIF((sum( iif(M.tipo = 'I', CANTIDAD,0))) - (sum( iif(M.tipo = 'E', CANTIDAD,0)))=0,1,(
(sum( iif(M.tipo = 'I', CANTIDAD,0))) - (sum( iif(M.tipo = 'E', CANTIDAD,0)))))) AS UNIT_POND,
(((sum( iif(M.tipo = 'I', PRECIO*CANTIDAD,0))) - (sum( iif(M.tipo = 'E', PRECIO*CANTIDAD,0))))/
(IIF((sum( iif(M.tipo = 'I', CANTIDAD,0))) - (sum( iif(M.tipo = 'E', CANTIDAD,0)))=0,1,(
(sum( iif(M.tipo = 'I', CANTIDAD,0))) - (sum( iif(M.tipo = 'E', CANTIDAD,0)))))))*
(((sum( iif(M.tipo = 'I', CANTIDAD,0))) - (sum( iif(M.tipo = 'E', CANTIDAD,0))))) AS SUBTOTAL
 
from insumos i INNER join inventario m
ON I.cod_insum = M.ID
WHERE M.EMPRESA = 'emp'
 AND I.EMPRESA = 'emp'
GROUP BY i.cod_insum,i.nom_insum, i.unidad, i.CRITICO, i.rotacion

Funciona perfecto e instantaneo, el unico problema es que solo me muestra los insumos que tengan algun tipo de movimiento, es decir, que exitan algun registro de ese insumo en particular en la tabla invetario.

La tabla insumos contiene la informacion de todos los insumos existentes, y la tabla inventario todos los movimientos de los insumos (tipo = 'I' si es un ingreso, y tipo = 'E' si es un egreso)

El asunto es que si no hay ningun movimiento (no hay registro de algun insumo en particular en la tabla inventario), no aparece en mi consulta.

Como puedo hacer la consulta para que arroje todos los insumos, incluso aquellos que no tienen moviemiento.

Espero que se haya entendido.

Saludos, y gracias
Responder Con Cita