Olá Rubem, obrigado pela resposta,

mas vamos supor que o usuário queira entrar com 15/01/2006 até 15/02/2006 daí 
se eu filtrar desse jeito que você falou, pense no registro com data 10/01/2006 
ou 18/02/2006. Eles entram no filtro, mas de acordo com o intervalo de datas, 
não poderiam.

Entendeu ? tem alguma solução ?

Obrigado.
Flávio.

Rubem Nascimento da Rocha <[EMAIL PROTECTED]> escreveu:                         
      
 Ops, falou colocar outra condição na cláusula WHERE. Corrigindo:
 
 SELECT
 CASE
 WHEN dataAtual BETWEEN '2008/01/01' AND '2008/01/30' THEN 'entreDatas08'
 WHEN dataAtual BETWEEN '2007/01/01' AND '2007/01/30' THEN 'entreDatas07'
 WHEN dataAtual BETWEEN '2006/01/01' AND '2006/01/30' THEN 'entreDatas06'
 ELSE 'outrasDatas'
 END 'ENTREDATAS',
 COUNT(*) AS NUMREGS,
 AVG(peso) AS MEDIA_PESO
 FROM pesquisa WHERE PerfilPesquisa_nomeResumido = 'SCAF'
 AND EXTRACT(MONTH FROM dataAtual) = 1
 AND EXTRACT(YEAR FROM dataAtual)>= 2006
 GROUP BY 1
 
 ________________________________
 
 To: delphi-br@yahoogrupos.com.br
 From: [EMAIL PROTECTED]
 Date: Sat, 2 Feb 2008 15:10:20 +0000
 Subject: RE: [delphi-br] ELSE em comandos SQL
 
 Pq vc simplesmente não coloca um filtro a mais na cláusula WHERE pra não 
listar essas outras datas?
 
 Exemplo (melhorado, inclusive):
 
 SELECT
 CASE
 WHEN dataAtual BETWEEN '2008/01/01' AND '2008/01/30' THEN 'entreDatas08'
 WHEN dataAtual BETWEEN '2007/01/01' AND '2007/01/30' THEN 'entreDatas07'
 WHEN dataAtual BETWEEN '2006/01/01' AND '2006/01/30' THEN 'entreDatas06'
 ELSE 'outrasDatas'
 END 'ENTREDATAS',
 COUNT(*) AS NUMREGS,
 AVG(peso) AS MEDIA_PESO
 FROM pesquisa WHERE PerfilPesquisa_nomeResumido = 'SCAF'
 AND EXTRACT(YEAR FROM dataAtual)>= 2006
 GROUP BY 1
 
 Sds.
 
 ________________________________
 
 To: delphi-br@yahoogrupos.com.br; [EMAIL PROTECTED]
 From: [EMAIL PROTECTED]
 Date: Sat, 2 Feb 2008 10:38:33 -0300
 Subject: [delphi-br] ELSE em comandos SQL
 
 Olá pessoal, bom dia,
 
 minha dúvida não sei nem como solucionar com pesquisas e tentativas, portanto 
venho a pedir a ajuda de vocês.
 Tenho o seguinte comando Sql:
 
 -- TEMPO - ENTRE DATAS
 SELECT
 CASE
 WHEN dataAtual BETWEEN '2008/01/01' AND '2008/01/30' THEN 'entreDatas08'
 WHEN dataAtual BETWEEN '2007/01/01' AND '2007/01/30' THEN 'entreDatas07'
 WHEN dataAtual BETWEEN '2006/01/01' AND '2006/01/30' THEN 'entreDatas06'
 ELSE 'outrasDatas'
 END 'ENTREDATAS',
 COUNT(*) AS NUMREGS,
 AVG(peso) AS MEDIA_PESO
 FROM pesquisa WHERE PerfilPesquisa_nomeResumido = 'SCAF'
 GROUP BY
 CASE
 WHEN dataAtual BETWEEN '2008/01/01' AND '2008/01/30' THEN 'entreDatas08'
 WHEN dataAtual BETWEEN '2007/01/01' AND '2007/01/30' THEN 'entreDatas07'
 WHEN dataAtual BETWEEN '2006/01/01' AND '2006/01/30' THEN 'entreDatas06'
 ELSE 'outrasDatas'
 END
 
 Eu apenas quero que não apareça a tupla do else. Nesse caso, apareçe as tuplas 
entreDatas08, entreDatas07, entreDatas06 e a tupla do else. Mas já tentei 
apagando essa linha do else, mas mesmo assim continua aparecendo essa linha, 
agora com o valor Null onde estava escrito 'outrasDatas'
 
 Entenderam ? alguém tem alguma solução ???
 
 Obrigado pela atenção e tudo de bom.
 Flávio.
 
 ---------------------------------
 Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento!
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 __________________________________________________________
 Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver 
offline. Conheça o MSN Mobile!
 http://mobile.live.com/signup/signup2.aspx?lc=pt-br
 
 __________________________________________________________
 Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger!
 http://www.amigosdomessenger.com.br/
     
                               

       
---------------------------------
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

[As partes desta mensagem que não continham texto foram removidas]

Responder a