[firebase-br] RES: Selecionar registro especifico

Priscila Lugon priscila em agriness.com
Sex Jan 8 16:27:11 -03 2010


Do jeito que você fez o SQL, quando colocar o mês 12, ele vai pegar as 3
linhas, pois ambas as datas tem o mês <= 12. Para pegar apenas a última data
da listagem, você teria que modificar o sql para:

select FIRST 1 a.valor
from teste a
where (extract(month from a.data_inicio) <= :mes
   and extract(year   from a.data_inicio) = :ano)
   and a.codigo = :cod
order by data_inicio DESC

Priscila Lugon
Tecnologia
----------------------------------------------------------------------------
-------------------------------
AGRINESS – Gestão da Informação para Suinocultura 
www.agriness.com |  + 55 (48) 3028-0015 |   priscila em agriness.com
----------------------------------------------------------------------------
-------------------------------

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Hélio Oliveira
Enviada em: sexta-feira, 8 de janeiro de 2010 16:18
Para: lista em firebase.com.br
Assunto: [firebase-br] Selecionar registro especifico

Boa tarde Colegas!

Tenho uma tabela com a seguinte estrutura:

codigo	data_inicio	data_final	valor
10	02/01/2009	30/06/2009	500,00
10	01/07/2009	31/11/2009	650,00
10	01/12/2009	null		800,00

No select irei passar mês, ano e código como paramentros.

Se o mês e ano for estiver compreendido entre [1..6] o valor retornado 
deverá ser 500,00
Se o mês e ano for estiver compreendido entre [7..11] o valor retornado 
deverá ser 650,00
Se o mês e ano for maior que 12/2009 o valor retornado deverá ser 800,00

Montei o seguinte select mais em testes não estou obtendo o resultado 
satisfatório.

select a.valor
from teste a
where (extract(month from a.data_inicio) <= :mes
   and extract(year   from a.data_inicio) = :ano)
   and a.codigo = :cod


-- 
[]'s,

Hélio Oliveira
Analista de Sistemas
Delphi Developer
http://hpensador.blogspot.com/
MSN - hpensador em hotmail.com
Skype - hpensador
(71) 9975-9176


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista