[firebase-br] Ajuda com SQL

Hélio Oliveira hpensador em gmail.com
Qui Maio 24 08:48:46 -03 2012


Salve galera!

Tenho a tabela HISTORICO composta pelos seguintes campos:
( matricula        integer
   codigo_mot_afast integer,
   data_afastamento date,
   afa_ret          char(1))

Preciso montar uma query que receba como parametro mês e ano e me 
retorne o registro do afastamento dentro do mês compreendido
no interavlo do afastamento.

Exemplificando:
Mat   cod_afast     data       afa_ret
200      50       26.01.2009     A
200      99       26.05.2009     R
200     100       01.01.2010     A
200     110       01.02.2010     R
200     100       01.01.2011     A
200     110       01.02.2011     R

Montei a query abaixo que já me atende parcialmente..

select x.data,
        x.afa_ret
from historico x
where x.matricula = :matricula
   and ((extract(month from x.data) <= :mes
   and   extract(year  from x.data)  = :ano))

Testando com os seguintes valores
Mês/ano
1/2009 - Retorno correto
2/2009 - idem
3/2009 - idem
4/2009 - idem
5/2009 - idem
6/2009 - Aqui começa o problema.. pois, esta sendo retornado os 2 
primeiros registros e não deveria retornar nenhum e não estou
          conseguindo montar uma condição satisfatoria...
-- 
[]'s,

Hélio Oliveira
Analista de Sistemas
Delphi Developer
http://hpensador.blogspot.com/





Mais detalhes sobre a lista de discussão lista