Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-05-2007
VRO VRO is offline
Miembro
 
Registrado: abr 2004
Posts: 230
Poder: 20
VRO Va por buen camino
Sacar el primer resultado de una consulta con varios

Hola, ¿que hay denuevo?

vereis he hecho una consulta en Interbase de la que obtengo varios resultados pero sólo me interesa plasmar el primer resultado que obtengo ¿Cómo debo hacerlo?

Gracias por todo.
PD: Utilizo interbase 5
Responder Con Cita
  #2  
Antiguo 03-05-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Lo explicare con un ejemplo, si yo tengo una consulta que me traiga todos los campos de una tabla así:

Código SQL [-]
select * from Mi_Tabla

Pero quiero solo el primer registro, me bastaría con agregarle a esa consulta lo siguiente:

Código SQL [-]
select first 1 * from Mi_Tabla

Espero te sirva. .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 04-05-2007
VRO VRO is offline
Miembro
 
Registrado: abr 2004
Posts: 230
Poder: 20
VRO Va por buen camino
Wink

Gracias por tu respuest, pero al poner first 1 me da un error en el valor 1, yose que en MySql se ponía sólo first , pero si lo pongo sólo tampoco me lo coje.

Gracias por todo seguiremos investigando si se te ocurre otra solución te agradecería me la comentases.

Buen día
Responder Con Cita
  #4  
Antiguo 04-05-2007
TJose TJose is offline
Miembro
 
Registrado: may 2003
Posts: 162
Poder: 21
TJose Va por buen camino
Hola

first funciona a partir de la versión 1.0 de firebird, no estaba disponible en interbase, por eso el error que te produce.

el siguiente fragmento pertenece a The Dark Side of CppB de Ian Marteens

Cita:
Otro ejemplo: necesitamos conocer los diez mejores clientes de nuestra tienda. Pero
sólo los diez primeros, y no vale mirar hacia otro lado cuando aparezca el undécimo.
Algunos sistemas SQL tienen extensiones con este propósito (top en SQL Server;
fetch first en DB2), pero no InterBase. Este procedimiento, que devuelve un con-
junto de datos, nos servirá de ayuda:

Código SQL [-]
create procedure MejoresClientes(Rango integer)
returns (Codigo int, Nombre varchar(30), Total int) as
begin
for select Codigo, Nombre, sum(Total)
    from   Clientes, Pedidos
    where  Clientes.Codigo = Pedidos.Cliente
    order  by 3 desc
    into   :Codigo, :Nombre, :Total do
begin
suspend;
Rango = Rango - 1;
if (Rango = 0) then
exit;
end
end ^

Entonces podremos realizar consultas como la siguiente:

Código SQL [-]
select *
from   MejoresClientes(10)
Una cosa interesante, disponible en FB es la combinación de first con skip

Saludos
TJose
Responder Con Cita
  #5  
Antiguo 04-05-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por VRO
Gracias por todo.
PD: Utilizo interbase 5
Disculpa, por puro descuido mio no había notado que usabas Interbase y menos que era el 5. La solución de TJose es una manera viable de hacerlo.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #6  
Antiguo 04-05-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Para Interbase

Código SQL [-]
Select * from Tabla rows 1
__________________
Piensa siempre en positivo !
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Extraer varios registros con su primer caracter..... Luis Alberto SQL 11 17-11-2005 17:37:06
Sacar habitaciones libres por dia - Problema consulta SQL- VRO Firebird e Interbase 0 01-09-2005 11:12:22
Obtener el resultado de una consulta zurech MySQL 3 13-07-2005 11:33:11
comprimir resultado de consulta cuscus Firebird e Interbase 3 29-04-2005 11:45:00
Resultado de Consulta en Variable ¥0n1 SQL 1 30-12-2003 01:07:29


La franja horaria es GMT +2. Ahora son las 00:50:35.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi