[firebase-br] Ajuda com SQL

Fabiano Martins fabiano em clippnet.com.br
Qui Maio 24 09:38:09 -03 2012


Se vc esta especificando o mês tem que tirar o sinal de <
ficaria assim

> 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


--------------------------------------------------
From: "Hélio Oliveira" <hpensador em gmail.com>
Sent: Thursday, May 24, 2012 8:48 AM
To: <lista em firebase.com.br>
Subject: [firebase-br] Ajuda com SQL

> 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/
>
>
> ______________________________________________
> 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