Como Totalizar Mes a Mes Valores de Um Periodo com Varios Meses.

01/07/2011

0

Ola Boa tarde!!!   Eu Aqui novamente com duvida.   Gostaria de uma ajuda para criar um script onde seja pego as vendas dos meus vendedores e totalizasse separadamente por mes as vendas do periodo informado.   Por exemplo, de 1/1/2011 a 30/6/2011 Periodo informado.   e totalizar separadamente o mes 1, mes 2, mes 3 e assim sucessivamente.   Alguem poderia me dar uma Luz, ainda nao consegui pensar em nada a respeito.   desde ja agradeco.   Abraco.   Alex - Lekao
Alex Lekao

Alex Lekao

Responder

Posts

01/07/2011

Emerson Nascimento

tente assim:

SELECT
  CODVEND,
  ((CAMPODATA - DAY(CAMPODATA)) + 1) MES_ANO,
  SUM(VALOR) TOTAL
FROM
  TABELA
WHERE
  DATA BETWEEN DATAINICIAL AND DATAFINAL
GROUP BY
  CODVEND, 2



Responder

01/07/2011

Alex Lekao

Ola Emerson, boa tarde!!!   Obrigado por mais esta ajuda.   Mas nao sei se entendi corretamente o que sugeriu.   O script ficou assim: select codven,((datemi - DAY(datemi)) +1) mes_ano,SUM(totgeral) total from LOJA1.dbo.REQVDA where datemi between '1.1.11' and '6.30.11' group by codven,2   O Script me retornou o seguinte erro: Mensagem 164, Nvel 15, Estado 1, Linha 5 Cada expresso GROUP BY deve conter pelo menos uma coluna que no seja referncia externa.   ai depois tive que agrupar por datemi tambem para nao dar o erro e com isso os dias ficaram agrupados.   desculpe se nao entendi bem o que sugeriu.   mas mesmo assim muito obrigado!!!   Abraco!!!   Alex - Lekao  
Responder

01/07/2011

Emerson Nascimento

desculpe, o indice do campo só funciona no order by.

tente assim:

select   codven, ((datemi - DAY(datemi)) +1) mes_ano, SUM(totgeral) total
from
  LOJA1.dbo.REQVDA where
  datemi between '1.1.11' and '6.30.11' group by
  codven, ((datemi - DAY(datemi)) +1)
order by
  codven, 2


Responder

02/07/2011

Alex Lekao

Ola Emerson, bom dia!!!     Mais uma vez obrigado, tentei e retornou um erro referente a conversao de data em texto, vou colocar a mensagem abaixo.   Estou vendo o que consigo resolver com relacao ao erro.   Mensagem 242, Nvel 16, Estado 3, Linha 1 A converso de um tipo de dados varchar em um tipo de dados datetime resultou em um valor fora do intervalo.   mais uma vez obrigado!!   Abraco.   Alex - Lekao
Responder

02/07/2011

Alex Lekao

Ja consegui resolver a questao da mensage, acredito eu. rsrsr Estava colocando o ultimo dia com 6.30.11 e ao mudar para 30.6.11 deu certo, acho que era isso.   Mais uma vez obrigado pela ajuda!!!!   ai no caso fiz  uma mudanca para apresentar a data no padrao brasileiro, vou colar o script como ficou a seguir.   eh isso ai...   Obrigado novamente.   Abraco.   Alex - Lekao select codven, convert(varchar(10),((datemi - DAY(datemi)) +1),103) mes_ano, SUM(totgeral) total from LOJA1.dbo.REQVDA where datemi between '1.1.11' and '30.6.2011' group by codven, convert(varchar(10),((datemi - DAY(datemi)) +1),103) order by codven, 2        
Responder

03/07/2011

Emerson Nascimento

blz. coloque o tópico como concluído.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar