[firebase-br] SQL (complexa)
Alysson Azevedo
agalysson em gmail.com
Ter Maio 11 13:52:53 -03 2010
outro dia tinha alguem com um problema parecido, mas com numeros...
a solução que resolveu pra ele é parecida com a que vou te sugerir...
select * from teste
where *data_sel* between *data_inicio* and *data_final*
uma outra forma é:
select * from teste
where *data_inicio* <= *data_sel* and *data_final >= **data_sel*
com isso vc vai conseguir o seu resultado...
agora fica a seu criterio como trabalhar com os dias do mes...
--
Alysson Gonçalves de Azevedo
(11) 8491-7730
(\(''^_^ )/)
"Pobre vive dizendo que não tem nada, mas quando vem a enchente, ele sai
gritando: -Perdi tudo!!!"
Em 11 de maio de 2010 13:09, Hélio Oliveira <hpensador em gmail.com> escreveu:
> Boa tarde Colegas!
>
> Não estou conseguindo chegar a um resultado satisfatório para obter um
> determinado valor em uma consulta.
>
> Tenho uma tabela "TESTE" com os seguintes campos:
> matricula integer,
> data_inicio date,
> data_final date,
> valor numeric(14,2)
>
> A mesma esta populada com os seguinte valores
> matricula data_inicio data_final valor
> 10 02/01/2009 30/06/2009 500,00
> 10 01/07/2009 30/11/2009 650,00
> 10 01/12/2009 <null> 800,00
>
> O que preciso:
> Se o mês informado estiver compreendido entre 1/2009 e 6/2009 o valor
> retornado seja 500,00;
> Se o mês informado estiver compreendido entre 7/2009 e 11/2009 o valor
> retornado seja 650,00;
> Se o mês informado for 12/2009 ou maior o valor retornado seja 800,00;
>
> Estou tentando com a seguinte SQL mais o resultado não é satisfatório, pois
> em alguns meses são retornados todos os registros.
>
> select x.*
> from teste x
> where x.matricula = 10
> and (((extract(month from x.data_inicio) = :mes
> and extract(year from x.data_inicio) = :ano)
> or (extract(month from x.data_inicio) <= :mes
> and extract(year from x.data_inicio) >= :ano)))
>
> --
> []'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