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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar