Array
(
)

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

Alex Lekao
   - 01 jul 2011

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

Emerson
   - 01 jul 2011

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

0
|
0

Alex Lekao
   - 01 jul 2011

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  

0
|
0

Emerson
   - 01 jul 2011

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

0
|
0

Alex Lekao
   - 02 jul 2011

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

0
|
0

Alex Lekao
   - 02 jul 2011

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

       

0
|
0

Emerson
   - 03 jul 2011

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

0
|
0