Jump to content
Fórum Script Brasil
  • 0

AJUDA COM SUM.


Pri999

Question

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

5 answers to this question

Recommended Posts

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

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
      652k
×
×
  • Create New...