Existe Limit no IB?
Saudações,
estou com uma dúvida simples. Estou com Delphi 7 e Interbase 6 e estou usando o seguinte sql:
.
Esta consulta me retorna 5 registros(5,4,3,2,1, respectivamente) porém eu gostaria de pegar apenas os registros 5 e 4. No PostgreSQL existe a opção limit ficando assim:
.
No Interbase como faço isso?
Muito obrigado.
estou com uma dúvida simples. Estou com Delphi 7 e Interbase 6 e estou usando o seguinte sql:
select matricula from aluno where matricula <= ´5´ order by matricula desc
Esta consulta me retorna 5 registros(5,4,3,2,1, respectivamente) porém eu gostaria de pegar apenas os registros 5 e 4. No PostgreSQL existe a opção limit ficando assim:
select matricula from aluno where matricula <= ´5´ order by matricula desc limit 2
No Interbase como faço isso?
Muito obrigado.
Zooropa
Curtidas 0
Respostas
Emerson Nascimento
31/01/2007
select matricula
from aluno
where matricula in (´4´, ´5´)
order by matricula desc
ou
select matricula
from aluno
where matricula between ´4´ and ´5´
order by matricula desc
ou
select matricula
from aluno
where matricula > ´3´ and matricula < ´6´
order by matricula desc
ou troque para firebird e tente ainda:
select first 2 matricula
from aluno
where matricula <= ´5´
order by matricula desc
from aluno
where matricula in (´4´, ´5´)
order by matricula desc
ou
select matricula
from aluno
where matricula between ´4´ and ´5´
order by matricula desc
ou
select matricula
from aluno
where matricula > ´3´ and matricula < ´6´
order by matricula desc
ou troque para firebird e tente ainda:
select first 2 matricula
from aluno
where matricula <= ´5´
order by matricula desc
GOSTEI 0
Zooropa
31/01/2007
Saudações Emerson,
só hoje eu pude ler sua resposta mas neste caso não é que eu queira pegar um item específico, eu quero pegar os dois primeiros (coloquei os números 4 e 5 apenas para exemplificar). Eu preciso pegar sempre o primeiro ou os dois primeiros registros da consulta (estou criando botões de navegação semelhantes ao DBNavigator, neste caso o número 5 seria o último registro - o botão last e o código 4 seria o penúltimo o botão Anterior). Com esta resposta irei implementar minha query para os outros botões.
Agradeço a ajuda
só hoje eu pude ler sua resposta mas neste caso não é que eu queira pegar um item específico, eu quero pegar os dois primeiros (coloquei os números 4 e 5 apenas para exemplificar). Eu preciso pegar sempre o primeiro ou os dois primeiros registros da consulta (estou criando botões de navegação semelhantes ao DBNavigator, neste caso o número 5 seria o último registro - o botão last e o código 4 seria o penúltimo o botão Anterior). Com esta resposta irei implementar minha query para os outros botões.
Agradeço a ajuda
GOSTEI 0
Emerson Nascimento
31/01/2007
no Firebird seria tão simples quanto no Postgree, com o uso da cláusula FIRST, mas no interbase 6 creio que só com stored procedure mesmo.
GOSTEI 0
Ehimura
31/01/2007
Olá cara...
espero poder ajudar...
para pegar o ultimo registro no IB6, faça o seguinte:
select matricula from aluno where matricula = (select max(matricula) from aluno);
Espero ter ajudado...
abraços
espero poder ajudar...
para pegar o ultimo registro no IB6, faça o seguinte:
select matricula from aluno where matricula = (select max(matricula) from aluno);
Espero ter ajudado...
abraços
GOSTEI 0
Rafaelbahr
31/01/2007
faça da seguinte forma:
select first 2 matricula from aluno where matricula <= ´5´ order by matricula desc
isto significa os dois primeiros
se quiser os dois ultimos tira o desc do order by
select first 2 matricula from aluno where matricula <= ´5´ order by matricula desc
isto significa os dois primeiros
se quiser os dois ultimos tira o desc do order by
GOSTEI 0