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

AJUDA COM SUM.


Pri999

Pergunta

Olá galerinha... :blush:

Preciso de um help com uma query.

É o seguinte.. Preciso fazer alguns SUMs mas de várias colunas, por exemplo:

O select está assim:

Fornecedor TIPO quantidade Data

Giraffas comida 2 20/09/2011

Café tabacaria 1 06/09/2011

MC donalds comida 2 01/08/2011

MC donalds sobremesa 1 20/08/2011

MC donalds sobremesa 5 12/08/2011

Queria fazer um sum somente na quantidade, porém ele deve respeitar a data e o fornecedor,

somando somente quando o mês, fornecedor e o tipo forem iguais.

Fornecedor TIPO quantidade Data

Giraffas comida 2 09/2011

Café tabacaria 1 09/2011

MC donalds sobremesa 6 08/2011

MC donalds comida 2 08/2011

Vocês poderiam me auxiliar?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Então.... cheguei nesse select, mas não sei como faço pra somar os agrupados, entendem?

alguém pode me ajudar? é a mesma questão acima, só que mudei o nome das colunas para não ficar muito complexo.

SELECT

GRUPO.DESCRICAO,

SOL.DESCRICAO,

SUM( VALORAPRESENTADO

- COALESCE (VALORGLOSAMEDICA, 0)

+ COALESCE (VALORGLOSAENFERMAGEM, 0)

+ COALESCE (VALORGLOSAADMIN, 0))

VALORAPRESENTADO,

SUM( COALESCE (VALORGLOSAMEDICA, 0)

+ COALESCE (VALORGLOSAENFERMAGEM, 0)

+ COALESCE (VALORGLOSAADMIN, 0))

VALORGLOSADO,

CAST (DATEPART(MM, DATA)AS VARCHAR (2))+ '/' +

CAST (DATEPART(YYYY, DATA)AS VARCHAR (4))

FROM(

SELECT

GRUPO.DESCRICAO OPERADORA,

A.HANDLE,

SOL.DESCRICAO PRODUTO,

B.VALORAPRESENTADO,

B.VALORGLOSAMEDICA,

B.VALORGLOSAENFERMAGEM,

B.VALORGLOSAADMIN,

A.DATAINICIAL,

A.DATAFINAL,

F.DATA

FROM

AE_FECHAMENTOPARCIAL A LEFT JOIN

AE_ITEMANALISE B ON B.PARCIAL = A.HANDLE LEFT JOIN

AE_ITEMANALISECLASSIFICACAO C ON C.HANDLE = B.ITEMCLASSIFICACAO LEFT JOIN

AE_AUDITORIA D ON D.HANDLE = A.AUDITORIA JOIN

SAM_OPERADORA OPERA ON OPERA.HANDLE = D.OPERADORA LEFT JOIN

AE_GRUPOOPERADORA GRUPO ON OPERA.GRUPOOPERADORA = GRUPO.HANDLE LEFT JOIN

AE_FATURA F ON F.OPERADORA = OPERA.HANDLE LEFT JOIN

AE_TIPOSOLICITACAO SOL ON D.TIPOSOLICITACAO = SOL.HANDLE

WHERE A.DATAINICIAL>=CONVERT(DATETIME,'20111001',3)

AND GRUPO.HANDLE >= 5

GROUP BY OPERA.DESCRICAO, A.HANDLE, SOL.DESCRICAO,

A.TOTALDIARIA,B.VALORAPRESENTADO, B.VALORGLOSAMEDICA, B.VALORGLOSAENFERMAGEM,

B.VALORGLOSAADMIN,A.DATAINICIAL,A.DATAFINAL,F.DATA, GRUPO.DESCRICAO

Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde Pri,

Tente fazer os cálculos passo a passo, utilizando temporárias. As vezes a conta não dá o resultado esperado por causa dos agrupamentos utilizados.

Crie uma temporária e vá fazendo as manipulções dos dados nela. Além de ficar mais fácil de compreender, a manutanção fical legal também!!

Link para o comentário
Compartilhar em outros sites

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...