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]