sub select incremento

28/08/2019

0

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
Daniel Antonio

Daniel Antonio

Responder

Posts

28/08/2019

Fernando Ito

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
Responder

28/08/2019

Daniel Antonio

Coloquei o coalesce, e não funcionou..
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
Responder

28/08/2019

Emerson Nascimento

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

Responder

29/08/2019

Daniel Antonio

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

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar