Usuário com melhor resposta
Com criar um trimestre

Pergunta
-
Boa tarde,
Estou precisando uma ajuda, que não sei como resolver.
Estou a desenvolver uma aplicação de registo negócios, onde os mesmo são carregados numa tabela com a data.
Nessa tabela estou a identificar o mês de negócio e queria agora fazer uma consulta onde ele me devolve-se os negócios do trimestre.
Eu não sei como fazer isso. Devo criar uma coluna na tabela de trimestre? Se sim que função devo colocar deforma ao fazer o insert do negócio ele identifique o trimestre que corresponde?
Não tendo nada do que estou a indicar em cima a unica consulta que consigo executar é com isto < = dateadd(mm,3,getdate() e naturalmente ele não funciona correctamente pois ele devolve os últimos 3 meses sendo estes mês 12, 1 e 2. O trimestre é composto neste caso o 1º por mês 1, 2 e 3.
Podem ajudar?
Respostas
-
Boa tarde, eu acharia melhor você fazer essa verificação na hora de realizar a consulta, aí você faria algo assim:
DECLARE @TRIMESTRE INT --Se você gravar o mês como um número SELECT * FROM Tabela WHERE Mes BETWEEN @TRIMESTRE*3-2 AND @TRIMESTRE*3 --Se você gravar o mês como um datetime SELECT * FROM Tabela WHERE DATEPART(M,Data) BETWEEN @TRIMESTRE*3-2 AND @TRIMESTRE*3
Nessa variável @TRIMESTRE você indica de qual trimestre você quer carregar.
Espero que tenha ajudado!
- Sugerido como Resposta Vinicius Nepomuceno Silva sexta-feira, 15 de fevereiro de 2013 14:07
- Marcado como Resposta Ricardo RussoModerator segunda-feira, 25 de fevereiro de 2013 16:08
-
Faça com que no select traga a data dos ultimos três meses,
Tipo, você têm a data do dados que estão sendo carregados na tabela,
então na hora do select, traga os dados do mês que está na data - 3, aí traz os dados do ultimo trimestre,
é isso?
- Marcado como Resposta Ricardo RussoModerator segunda-feira, 25 de fevereiro de 2013 16:08
Todas as Respostas
-
Boa tarde, eu acharia melhor você fazer essa verificação na hora de realizar a consulta, aí você faria algo assim:
DECLARE @TRIMESTRE INT --Se você gravar o mês como um número SELECT * FROM Tabela WHERE Mes BETWEEN @TRIMESTRE*3-2 AND @TRIMESTRE*3 --Se você gravar o mês como um datetime SELECT * FROM Tabela WHERE DATEPART(M,Data) BETWEEN @TRIMESTRE*3-2 AND @TRIMESTRE*3
Nessa variável @TRIMESTRE você indica de qual trimestre você quer carregar.
Espero que tenha ajudado!
- Sugerido como Resposta Vinicius Nepomuceno Silva sexta-feira, 15 de fevereiro de 2013 14:07
- Marcado como Resposta Ricardo RussoModerator segunda-feira, 25 de fevereiro de 2013 16:08
-
Faça com que no select traga a data dos ultimos três meses,
Tipo, você têm a data do dados que estão sendo carregados na tabela,
então na hora do select, traga os dados do mês que está na data - 3, aí traz os dados do ultimo trimestre,
é isso?
- Marcado como Resposta Ricardo RussoModerator segunda-feira, 25 de fevereiro de 2013 16:08