Jump to content
Fórum Script Brasil
  • 0

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


helvis2009

Question

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

2 answers to this question

Recommended Posts

  • 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.

Link to comment
Share on other sites

  • 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 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...