Estou precisando de ajuda com a Query abaixo, pois sem o "Sum" a consulta está me retornando os valores corretos, porém sem agrupar os itens com o mesmo código, conforme resultado abaixo.
SELECT DISTINCT ITE.CODPROD As "Codigo_do_Produto", PRO.DESCRPROD As "DescProdutos", PRO.CODVOL As "Un", CAB.CODPARC As "CódParceiro", PAR.NOMEPARC As "Nome_do_Parceiro", (ITE.QTDNEG* ((CASE WHEN CAB.TIPMOV = 'D' THEN -1 ELSE 1 END))) As "QtdNeg", (ITE.VLRUNIT * ITE.QTDNEG) As "Valor_Total"
FROM TGFCAB CAB, TGFPAR PAR, TGFTOP TPO, TGFITE ITE, TGFPRO PRO
WHERE CAB.CODTIPOPER IN (3200, 36) AND CAB.NUNOTA = ITE.NUNOTA AND ITE.CODPROD = PRO.CODPROD AND CAB.CODPARC = PAR.CODPARC AND (( TPO.TIPMOV = 'V' OR TPO.TIPMOV = 'D') AND ( CAB.STATUSNOTA = 'L') AND ( CAB.DTENTSAI >='01/07/2020') AND ( CAB.DTENTSAI <='31/07/2020') AND (CAB.CODPARC = 35))
GROUP BY "QtdNeg", ITE.VLRUNIT, ITE.CODPROD, PRO.DESCRPROD,PRO.CODVOL, CAB.TIPMOV, CAB.CODPARC, PAR.NOMEPARC ORDER BY ITE.CODPROD ASC
Tentei colocar "Sum" para somar a "QtdNeg" e o "Valor_Total", retirando da cláusula group by, ele até chegar a agrupar porém desta forma a consulta resulta nos valores abaixo:
SELECT DISTINCT
ITE.CODPROD As "Codigo_do_Produto",
PRO.DESCRPROD As "DescProdutos",
PRO.CODVOL As "Un",
CAB.CODPARC As "CódParceiro",
PAR.NOMEPARC As "Nome_do_Parceiro",
SUM(ITE.QTDNEG* ((CASE WHEN CAB.TIPMOV = 'D' THEN -1 ELSE 1 END))) As "QtdNeg",
SUM(ITE.VLRUNIT * ITE.QTDNEG) As "Valor_Total"
FROM
TGFCAB CAB,
TGFPAR PAR,
TGFTOP TPO,
TGFITE ITE,
TGFPRO PRO
WHERE
CAB.CODTIPOPER IN (3200, 36)
AND CAB.NUNOTA = ITE.NUNOTA
AND ITE.CODPROD = PRO.CODPROD
AND CAB.CODPARC = PAR.CODPARC
AND (( TPO.TIPMOV = 'V' OR TPO.TIPMOV = 'D')
AND ( CAB.STATUSNOTA = 'L')
AND ( CAB.DTENTSAI >='01/07/2020')
AND ( CAB.DTENTSAI <='31/07/2020')
AND (CAB.CODPARC = 35))
GROUP BY ITE.CODPROD, PRO.DESCRPROD,PRO.CODVOL, CAB.TIPMOV, CAB.CODPARC, PAR.NOMEPARC
ORDER BY ITE.CODPROD ASC
Pergunta
vitorm07
Estou precisando de ajuda com a Query abaixo, pois sem o "Sum" a consulta está me retornando os valores corretos, porém sem agrupar os itens com o mesmo código, conforme resultado abaixo.
Código | Descrição | Un | CódParceiro | Nome_do_Parceiro | Qtd Neg | Valor_Total
475 Limpador LT 35 Teste 15 236,25
475 Limpador LT 35 Teste 20 315
Porém o resultado deveria ser:
Código | Descrição | Un | CódParceiro | Nome_do_Parceiro | Qtd Neg | Valor_Total
475 Limpador LT 35 Teste 35 521,25
SELECT DISTINCT
ITE.CODPROD As "Codigo_do_Produto",
PRO.DESCRPROD As "DescProdutos",
PRO.CODVOL As "Un",
CAB.CODPARC As "CódParceiro",
PAR.NOMEPARC As "Nome_do_Parceiro",
(ITE.QTDNEG* ((CASE WHEN CAB.TIPMOV = 'D' THEN -1 ELSE 1 END))) As "QtdNeg",
(ITE.VLRUNIT * ITE.QTDNEG) As "Valor_Total"
FROM
TGFCAB CAB,
TGFPAR PAR,
TGFTOP TPO,
TGFITE ITE,
TGFPRO PRO
WHERE
CAB.CODTIPOPER IN (3200, 36)
AND CAB.NUNOTA = ITE.NUNOTA
AND ITE.CODPROD = PRO.CODPROD
AND CAB.CODPARC = PAR.CODPARC
AND (( TPO.TIPMOV = 'V' OR TPO.TIPMOV = 'D')
AND ( CAB.STATUSNOTA = 'L')
AND ( CAB.DTENTSAI >='01/07/2020')
AND ( CAB.DTENTSAI <='31/07/2020')
AND (CAB.CODPARC = 35))
GROUP BY "QtdNeg", ITE.VLRUNIT, ITE.CODPROD, PRO.DESCRPROD,PRO.CODVOL, CAB.TIPMOV, CAB.CODPARC, PAR.NOMEPARC
ORDER BY ITE.CODPROD ASC
Tentei colocar "Sum" para somar a "QtdNeg" e o "Valor_Total", retirando da cláusula group by, ele até chegar a agrupar porém desta forma a consulta resulta nos valores abaixo:
Código | Descrição | Un | CódParceiro | Nome_do_Parceiro | Qtd Neg | Valor_Total
475 Limpador LT 35 Teste 1730 273420
SELECT DISTINCT
ITE.CODPROD As "Codigo_do_Produto",
PRO.DESCRPROD As "DescProdutos",
PRO.CODVOL As "Un",
CAB.CODPARC As "CódParceiro",
PAR.NOMEPARC As "Nome_do_Parceiro",
SUM(ITE.QTDNEG* ((CASE WHEN CAB.TIPMOV = 'D' THEN -1 ELSE 1 END))) As "QtdNeg",
SUM(ITE.VLRUNIT * ITE.QTDNEG) As "Valor_Total"
FROM
TGFCAB CAB,
TGFPAR PAR,
TGFTOP TPO,
TGFITE ITE,
TGFPRO PRO
WHERE
CAB.CODTIPOPER IN (3200, 36)
AND CAB.NUNOTA = ITE.NUNOTA
AND ITE.CODPROD = PRO.CODPROD
AND CAB.CODPARC = PAR.CODPARC
AND (( TPO.TIPMOV = 'V' OR TPO.TIPMOV = 'D')
AND ( CAB.STATUSNOTA = 'L')
AND ( CAB.DTENTSAI >='01/07/2020')
AND ( CAB.DTENTSAI <='31/07/2020')
AND (CAB.CODPARC = 35))
GROUP BY ITE.CODPROD, PRO.DESCRPROD,PRO.CODVOL, CAB.TIPMOV, CAB.CODPARC, PAR.NOMEPARC
ORDER BY ITE.CODPROD ASC
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.