Jump to content
Fórum Script Brasil
  • 0

AJUDA COM GROUP BY OU SUM


vitorm07

Question

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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...