[firebase-br] Pegar item anterior e posterior numa consulta SQL (FireBird)

Paulo S X Soares paulosoares.br em gmail.com
Seg Jan 28 10:12:50 -03 2008


select F.Denticao, FP.Denticao as DenticaoPost
     from Faixas F
          left outer join Faixas FP on FP.PassoMenor=F.PassoMaior+1
          where :Passo Between F.PassoMenor And F.PassoMaior;



Em 28/01/08, Ricardo César Cardoso <ricardo_engsoft em yahoo.com.br> escreveu:
>
> Bom dia amigos!
>
> A dúvida que tenho não é sobre uma instrução SQL no Firebird v1.5.2, onde
> tenho uma tabela com a seguinte estrutura (campos):
>
> IDDenticao[inteiro] / Denticao[String] / PassoMenor[inteiro] /
> PassoMaior[inteiro]
>
> e os seguintes dados:
>
> 1 / '14-18' / 1829 / 2539
> 2 / '10-14' / 2540 / 3171
> 3 / '8-12' / 3172 / 4241
> 4 / '6-10' / 4242 / 5079
> ...
>
> No meu programa tenho uma rotina que seleciona em que faixa uma medida se
> encontra, por exemplo se passo o valor 3500, ele me retorna '8-12'. Para
> isso uso a seguinte expressão
>
> [code]
> Select Denticao
> >From Faixas
> Where :Passo Between PassoMenor And PassoMaior;
> [/code]
>
> Porém, numa determinada situação, preciso do passo imediatamente superior
> ao passo selecionado. Repetindo o exemplo anterior, onde passo o valor 3500,
> devo trazer '10-14'. O problema é como montar esta expressão...
>
> Fico grato com a sua ajuda,
> Ricardo.
>
> ---------------------------------
> Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> armazenamento!
> ______________________________________________
> 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
>



-- 
___________________________________
*** Paulo Sergio Xavier Soares ***
Skype: Allumo, E-mail: paulosoares.br em gmail.com, MSN: paulosxs em yahoo.com.br
Consultor em Informatica
Matematica - UEM

Obs: Se o seu leitor de e-mail não estiver configurado para emitir resposta
automática do recebimento, favor responder essa mensagem para o confirmar.



Mais detalhes sobre a lista de discussão lista