Ir para conteúdo
Fórum Script Brasil
  • 0

AJUDA COM GROUP BY OU SUM


vitorm07

Pergunta

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

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...