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