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

(Resolvido) SOMAR OS VALORES NO "CASE"..


helvis2009

Pergunta

Boa noite... estou com o seguinte problema:

Tenho que somar o resultado dos registros abaixo, mais no select aqui ele ta listando os registros e não somando e agrupando.. quem sacar a parada ai me ajude:

-------------------------------------------------------------------------------------------------------------------------

SELECT DISTINCT

EMPRESA.NOME_EMPRESA,

CASE WHEN MOVI.DATA_COMPRA_O BETWEEN '01/08/2011' AND '31/08/2011' THEN SUM(MOVI.VALOR_COMPRA)END AS CREDITO_MATRIZ,

CASE WHEN MOVI.DATA_COMPRA_O BETWEEN '01/09/2011' AND '30/09/2011' THEN SUM(MOVI.VALOR_COMPRA)END AS CREDITO_FILIAL,

FATURA.VALOR_FATURA AS TOTAL_FATURA

FROM MOVI

LEFT JOIN EMPRESA ON EMPRESA.COD_EMP = MOVI.COD_EMP

LEFT JOIN FATURA ON FATURA.TITULO = MOVI.TITULO

WHERE FATURA.TITULO = '201198874' AND FATURA.DATA_EMISSAO >='01/09/2011'

GROUP BY FATURA.VALOR_FATURA, EMPRESA.NOME_EMPRESA, MOVI.DATA_COMPRA

-------------------------------------------------------------------------------------------------------------------------

o resultado que ta aparecendo é esse:

EMPRESA MATRIZ FILIAL TOTAL_FATURA

EMPRESA DE EMBALAGENS LTDA NULL 1.80 1227.65

EMPRESA DE EMBALAGENS LTDA NULL 9.90 1227.65

EMPRESA DE EMBALAGENS LTDA NULL 34.34 1227.65

EMPRESA DE EMBALAGENS LTDA NULL 70.24 1227.65

EMPRESA DE EMBALAGENS LTDA NULL 102.15 1227.65

EMPRESA DE EMBALAGENS LTDA NULL 129.65 1227.65

EMPRESA DE EMBALAGENS LTDA 9.56 NULL 1227.65

EMPRESA DE EMBALAGENS LTDA 54.11 NULL 1227.65

EMPRESA DE EMBALAGENS LTDA 54.70 NULL 1227.65

EMPRESA DE EMBALAGENS LTDA 87.52 NULL 1227.65

EMPRESA DE EMBALAGENS LTDA 107.21 NULL 1227.65

EMPRESA DE EMBALAGENS LTDA 275.42 NULL 1227.65

EMPRESA DE EMBALAGENS LTDA 291.05 NULL 1227.65

Mais na verdade, era para o resultado ser assim:

---------------------------------------------------------------

EMPRESA MATRIZ FILIAL TOTAL_FATURA

EMPRESA DE EMBALAGENS LTDA 879.57 348.08 1227.65

---------------------------------------------------------------

não sei porque não esta agrupando, quem se habilita??

Obrigado!!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Bom dia Helvis,

O problema pode estar no Group By, campo MOVI.DATA_COMPRA. Se a data da compra tiver hora, minutos, segundos, o sql não irá agrupar.

você também está utilizando o campo no between... dê uma olhada nas datas.

Bom dia Fulvio... consegui resolver aqui.. o problema que eu estava colocando assim:

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

CASE WHEN MOVI.DATA_COMPRA_O BETWEEN '01/08/2011' AND '31/08/2011' THEN SUM(MOVI.VALOR_COMPRA)END AS CREDITO_MATRIZ,

CASE WHEN MOVI.DATA_COMPRA_O BETWEEN '01/09/2011' AND '30/09/2011' THEN SUM(MOVI.VALOR_COMPRA)END AS CREDITO_FILIAL,

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

mais na verdade o comando "SUM" tinha que ficar fora do "CASE"... então ficou assim:

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

SUM(CASE WHEN MOVCO.DT_COMPRA_O BETWEEN '01/08/2011' AND '31/08/2011' THEN (MOVI.VALOR_COMPRA)END) AS CREDITO_MATRIZ,

SUM(CASE WHEN MOVCO.DT_COMPRA_O BETWEEN '01/09/2011' AND '30/09/2011' THEN (MOVI.VALOR_COMPRA)END) AS CREDITO_FILIAL

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

De qualquer forma, muito obrigado!

Att,

HELVIS

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...