helvis2009 Posted October 15, 2011 Report Share Posted October 15, 2011 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 DISTINCTEMPRESA.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 MOVILEFT JOIN EMPRESA ON EMPRESA.COD_EMP = MOVI.COD_EMPLEFT JOIN FATURA ON FATURA.TITULO = MOVI.TITULOWHERE 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_FATURAEMPRESA DE EMBALAGENS LTDA NULL 1.80 1227.65EMPRESA DE EMBALAGENS LTDA NULL 9.90 1227.65EMPRESA DE EMBALAGENS LTDA NULL 34.34 1227.65EMPRESA DE EMBALAGENS LTDA NULL 70.24 1227.65EMPRESA DE EMBALAGENS LTDA NULL 102.15 1227.65EMPRESA DE EMBALAGENS LTDA NULL 129.65 1227.65EMPRESA DE EMBALAGENS LTDA 9.56 NULL 1227.65EMPRESA DE EMBALAGENS LTDA 54.11 NULL 1227.65EMPRESA DE EMBALAGENS LTDA 54.70 NULL 1227.65EMPRESA DE EMBALAGENS LTDA 87.52 NULL 1227.65EMPRESA DE EMBALAGENS LTDA 107.21 NULL 1227.65EMPRESA DE EMBALAGENS LTDA 275.42 NULL 1227.65EMPRESA DE EMBALAGENS LTDA 291.05 NULL 1227.65Mais na verdade, era para o resultado ser assim:---------------------------------------------------------------EMPRESA MATRIZ FILIAL TOTAL_FATURAEMPRESA DE EMBALAGENS LTDA 879.57 348.08 1227.65---------------------------------------------------------------não sei porque não esta agrupando, quem se habilita??Obrigado!! Quote Link to comment Share on other sites More sharing options...
0 fulvio Posted October 17, 2011 Report Share Posted October 17, 2011 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. Quote Link to comment Share on other sites More sharing options...
0 helvis2009 Posted October 19, 2011 Author Report Share Posted October 19, 2011 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 Quote Link to comment Share on other sites More sharing options...
Question
helvis2009
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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.