SQL- CALCULO DE ESTOQUE
Citação:SQL = [Ô]SELECT DISTINCT A.ID_INSUMO,[Ô] & _
[Ô]((Select Sum(Quantidade)as Estoque_Entrada From Estoque_Entrada Where Estoque_Entrada.Cod_Insumo=A.ID_Insumo) -(Select Sum(Quantidade) As Estoque_Saida From Estoque_Saida Where Estoque_Saida.Cod_Insumo=A.ID_Insumo))As Estoque,[Ô] & _
[Ô]A.NOME_COMERCIAL,A.ESTOQUE_MAXIMO,A.ESTOQUE_MINIMO, [Ô] & _
[Ô](Select Sum(Quantidade) From Estoque_Entrada Where Estoque_Entrada.Cod_Insumo=A.ID_Insumo) as Estoque_Entrada,[Ô] & _
[Ô](Select Sum(Quantidade) From Estoque_Saida Where Estoque_Saida.Cod_Insumo=A.ID_Insumo) as Estoque_Saida [Ô] & _
[Ô]FROM CAD_INSUMO A [Ô] & _
[Ô]WHERE TIPO IS NULL ORDER BY A.NOME_COMERCIAL
Porem agora que percebi que desta forma só aparece no calculo o produto que houve movimentação de entrada e saÃda.
Existem produtos que não tiveram saÃda ainda, ou que o estoque esteja zerado e os mesmos não aparecem. Ja tentei varias tentativas e não tive êxito. Alguém pode me ajudar?
é mais ou menos assim
SQL = [Ô][Ô]
SQL = SQL & [Ô] SELECT DISTINCT A.ID_INSUMO,SUM(B.QUANTIDADE) AS ESTOQUE_ENTRADA,SUM(C.QUANTIDADE) AS ESTOQUE_SAIDA,
SQL = SQL & [Ô] SUM(B.QUANTIDADE) - SUM(C.QUANTIDADE) AS ESTOQUE,
SQL = SQL & [Ô] A.NOME_COMERCIAL,A.ESTOQUE_MAXIMO,A.ESTOQUE_MINIMO
SQL = SQL & [Ô] FROM CAD_INSUMOS A
SQL = SQL & [Ô] LEFT JOIN ESTOQUE_ENTRADA B
SQL = SQL & [Ô] ON B.COD_INSUMO = A.ID_INSUMO
SQL = SQL & [Ô] LEFT JOIN ESTOQUE_SAIDA C
SQL = SQL & [Ô] ON C.COD_INSUMO = A.ID_INSUMO
SQL = SQL & [Ô] WHERE TIPO IS NULL
SQL = SQL & [Ô] GROUP BY A.ID_INSUMO,A.NOME_COMERCIAL,A.ESTOQUE_MAXIMO,A.ESTOQUE_MINIMO
SQL = SQL & [Ô] ORDER BY A.NOME_COMERCIAL