[RESOLVIDO] Fazendo apuração de estoque

Prezados, fiz uma select aqui para apurar meu estoque.
Esta fazendo os calculos certinho, porém um determinado campo nao calcula.

Minha select :

SELECT M.cod_compos_compon, //minha tabela de produtos

//estou somando os produtos que dei entrada no almoxarifado
(SELECT SUM (E.quantidade) FROM tblDetalheEntradaMaterial E WHERE E.cod_compos_compon = M.cod_compos_compon) AS T_ENTRADA,

//estou somando os materiais que a obra devolveu
(SELECT SUM (D.quantidade) FROM tblDetalheDevolucao D WHERE D.cod_compos_compon = M.cod_compos_compon) AS T_DEVOL,

//estou somando as saidas de material
(SELECT SUM (S.quantidade) FROM tblDetalheSaidaMaterial S WHERE S.cod_compos_compon = M.cod_compos_compon) AS T_SAIDA,

//aqui faço a soma e subtração das tabelas

(((SELECT SUM (E.quantidade) FROM tblDetalheEntradaMaterial E WHERE E.cod_compos_compon = M.cod_compos_compon)

  • (SELECT SUM (D.quantidade) FROM tblDetalheDevolucao D WHERE D.cod_compos_compon = M.cod_compos_compon)
  • (SELECT SUM (S.quantidade) FROM tblDetalheSaidaMaterial S WHERE S.cod_compos_compon = M.cod_compos_compon)))as Resultado
    from
    tbl_composicao_componente M

where idtipo = ‘1’

group by
M.cod_compos_compon

o problema é que tem um campo que dei entrada mas nao dei saida… logo o “resultado” aparece em branco.

a soma da entrada aparece, mas nao o resultado.

se eu der entrada e saida em um produto aparece o resultado… mas se apenas dar entrada aparece a entrada mas nao o resultado…

Help.

SELECT M.cod_compos_compon,
(SELECT ISNULL(SUM (E.quantidade),0) FROM tblDetalheEntradaMaterial E WHERE E.cod_compos_compon = M.cod_compos_compon) AS T_ENTRADA,
(SELECT ISNULL(SUM (D.quantidade),0) FROM tblDetalheDevolucao D WHERE D.cod_compos_compon = M.cod_compos_compon) AS T_DEVOL,
(SELECT ISNULL(SUM (S.quantidade),0) FROM tblDetalheSaidaMaterial S WHERE S.cod_compos_compon = M.cod_compos_compon) AS T_SAIDA,

(((SELECT ISNULL(SUM (E.quantidade),0) FROM tblDetalheEntradaMaterial E WHERE E.cod_compos_compon = M.cod_compos_compon)

  • (SELECT ISNULL(SUM (D.quantidade),0) FROM tblDetalheDevolucao D WHERE D.cod_compos_compon = M.cod_compos_compon)
  • (SELECT ISNULL(SUM (S.quantidade),0) FROM tblDetalheSaidaMaterial S WHERE S.cod_compos_compon = M.cod_compos_compon)))as Resultado
    from
    tbl_composicao_componente M

where idtipo = ‘1’

group by
M.cod_compos_compon

ISNULL(SUM (S.quantidade),0) // AQUI EU RETORNO O VALOR ‘0’ MESMO QUE NAO TENHA REGISTRO…LOGO OS CALCULOS FUNCIONAM…