sub select incremento
Bom dia!
Fiz um sub select para somar: O 1° select some todas entradas, e no 2° select some as saídas. O problema é que se o código não tiver nenhuma saída, ele não aparece na consulta. Ela só funciona se os 2 critérios conterem valores a serem apresentados. Aguem sabe como posso adaptar para que no caso de não haver saída, pelo menos aparecer o codigo com a soma de entras, deixando a compo saída em branco ou valor 0.
SELECT A.CODIGO, A.PARTNUMBER, A.DESCRICAO, A.QTDE_ENTRADA, B.QTDEPG, A.QTDE_ENTRADA - B.QTDEPG AS SAIDA
FROM
(SELECT CODIGO, PARTNUMBER, DESCRICAO, Sum(QTDE_ENTRADA) AS QTDE_ENTRADA FROM TB_ESTOQUE_ENTRADA GROUP BY CODIGO, PARTNUMBER, DESCRICAO) A,
(SELECT CODIGO, Sum(QTDEPG) AS QTDEPG FROM TB_ESTOQUE_SAIDA GROUP BY CODIGO) B
WHERE A.CODIGO = B.CODIGO
Fiz um sub select para somar: O 1° select some todas entradas, e no 2° select some as saídas. O problema é que se o código não tiver nenhuma saída, ele não aparece na consulta. Ela só funciona se os 2 critérios conterem valores a serem apresentados. Aguem sabe como posso adaptar para que no caso de não haver saída, pelo menos aparecer o codigo com a soma de entras, deixando a compo saída em branco ou valor 0.
SELECT A.CODIGO, A.PARTNUMBER, A.DESCRICAO, A.QTDE_ENTRADA, B.QTDEPG, A.QTDE_ENTRADA - B.QTDEPG AS SAIDA
FROM
(SELECT CODIGO, PARTNUMBER, DESCRICAO, Sum(QTDE_ENTRADA) AS QTDE_ENTRADA FROM TB_ESTOQUE_ENTRADA GROUP BY CODIGO, PARTNUMBER, DESCRICAO) A,
(SELECT CODIGO, Sum(QTDEPG) AS QTDEPG FROM TB_ESTOQUE_SAIDA GROUP BY CODIGO) B
WHERE A.CODIGO = B.CODIGO
Daniel Antonio
Curtidas 0
Respostas
Fernando Ito
28/08/2019
Olá Daniel Antonio,
Você tem que usar o coalesce na consulta
coalesce(A.QTDE_ENTRADA, 0) - coalesce(B.QTDEPG, 0) as saida
Um abraço,
ITO
Você tem que usar o coalesce na consulta
coalesce(A.QTDE_ENTRADA, 0) - coalesce(B.QTDEPG, 0) as saida
Um abraço,
ITO
GOSTEI 0
Daniel Antonio
28/08/2019
Coloquei o coalesce, e não funcionou..
Códigos que so tem entrada não aparecem na consulta
Códigos que so tem entrada não aparecem na consulta
Olá Daniel Antonio,
Você tem que usar o coalesce na consulta
coalesce(A.QTDE_ENTRADA, 0) - coalesce(B.QTDEPG, 0) as saida
Um abraço,
ITO
Você tem que usar o coalesce na consulta
coalesce(A.QTDE_ENTRADA, 0) - coalesce(B.QTDEPG, 0) as saida
Um abraço,
ITO
GOSTEI 0
Emerson Nascimento
28/08/2019
tente algo assim:
SELECT CODIGO, PARTNUMBER, DESCRICAO, SUM(QTDE) AS QTDE_ENTRADA, SUM(QTDS) AS QTDE_SAIDA FROM ( SELECT CODIGO, PARTNUMBER, DESCRICAO, Sum(QTDE_ENTRADA) AS QTDE, 0 AS QTDS FROM TB_ESTOQUE_ENTRADA GROUP BY CODIGO, PARTNUMBER, DESCRICAO UNION ALL SELECT CODIGO, PARTNUMBER, DESCRICAO, 0 AS QTDE, Sum(QTDEPG) AS QTDS FROM TB_ESTOQUE_SAIDA GROUP BY CODIGO, PARTNUMBER, DESCRICAO ) A GROUP BY CODIGO, PARTNUMBER, DESCRICAO ORDER BY CODIGO
GOSTEI 0
Daniel Antonio
28/08/2019
Obrigado - Deu certinho
tente algo assim:
SELECT CODIGO, PARTNUMBER, DESCRICAO, SUM(QTDE) AS QTDE_ENTRADA, SUM(QTDS) AS QTDE_SAIDA FROM ( SELECT CODIGO, PARTNUMBER, DESCRICAO, Sum(QTDE_ENTRADA) AS QTDE, 0 AS QTDS FROM TB_ESTOQUE_ENTRADA GROUP BY CODIGO, PARTNUMBER, DESCRICAO UNION ALL SELECT CODIGO, PARTNUMBER, DESCRICAO, 0 AS QTDE, Sum(QTDEPG) AS QTDS FROM TB_ESTOQUE_SAIDA GROUP BY CODIGO, PARTNUMBER, DESCRICAO ) A GROUP BY CODIGO, PARTNUMBER, DESCRICAO ORDER BY CODIGO
GOSTEI 0