Obtener un determinado registro en SELECT

06/11/2003 - 17:27 por Ronald Espinosa | Informe spam
Alguien sabe como puedo obtener determinado número de
registro en el resultado de una consulta en SQL SERVER
2000 ?

Necesito el equivalente a:

En VFP : SELECT * FROM TABLA WHERE RECNO = 15
En ORACLE : SELECT * FROM TABLA WHERE ROWNUM = 15

Como se hace en SQL Server 2000 ? No me sirve utilizar el
TOP porque la tabla tiene muchos registros.

Preguntas similare

Leer las respuestas

#1 Miguel Egea
06/11/2003 - 17:36 | Informe spam
Hola ronald, si lo haces en oracle ten cuidado, creo recordar que rownum
cambia en cada select, en sql-server ni siquiera existe. En las bds
relacionales no tiene sentido el orden físico. Tendrás que poner tu clave
primaria o un orden determinado (el que fuere), en el where

Saludos
Miguel Egea
"Ronald Espinosa" escribió en el mensaje
news:006201c3a482$e411a050$
Alguien sabe como puedo obtener determinado número de
registro en el resultado de una consulta en SQL SERVER
2000 ?

Necesito el equivalente a:

En VFP : SELECT * FROM TABLA WHERE RECNO = 15
En ORACLE : SELECT * FROM TABLA WHERE ROWNUM = 15

Como se hace en SQL Server 2000 ? No me sirve utilizar el
TOP porque la tabla tiene muchos registros.
Respuesta Responder a este mensaje
#2 Accotto Maximiliano D.
06/11/2003 - 18:10 | Informe spam
cual es el problema de usar el top con muchos registros?

Accotto Maximiliano Damian
"Ronald Espinosa" escribió en el mensaje
news:006201c3a482$e411a050$
Alguien sabe como puedo obtener determinado número de
registro en el resultado de una consulta en SQL SERVER
2000 ?

Necesito el equivalente a:

En VFP : SELECT * FROM TABLA WHERE RECNO = 15
En ORACLE : SELECT * FROM TABLA WHERE ROWNUM = 15

Como se hace en SQL Server 2000 ? No me sirve utilizar el
TOP porque la tabla tiene muchos registros.
Respuesta Responder a este mensaje
#3 Ronald Espinosa
06/11/2003 - 18:34 | Informe spam
El problema sería que si el resultado del select devuelve
muchos registros y solo necesito el último sería bastante
demorado.

La situación es la siguiente, de un select que recibo como
parámetro debo devolver bloques de 10 registros con un
rango específico determinado por otro parámetro, por
ejemplo desde el 500 al 510.

Cual sería la forma adecuada de hacerlo ?
Respuesta Responder a este mensaje
#4 Accotto Maximiliano D.
06/11/2003 - 18:40 | Informe spam
mira yo usaria el top!! si pones bien tu where no deberias tener problema
alguno de performance!!
Ahora tambien si lo q queres es solo numerar los registros por ej en la
forma q se cargan en la BDD (ej el registro 1,2,3) podrias usar un campo
identity y luego hacer el where y top por este.

Ahora el rango q vos me decis como lo estableces? es un rango dentro de un
where?

Seria bueno q me digas los motivos de devolver de a 10 registros. Quizas
estamos encarando la solucion a un problema por el camino equivocado.

Un abrazo

Accotto Maximiliano Damian
"Ronald Espinosa" escribió en el mensaje
news:004f01c3a48c$4ce26cf0$
El problema sería que si el resultado del select devuelve
muchos registros y solo necesito el último sería bastante
demorado.

La situación es la siguiente, de un select que recibo como
parámetro debo devolver bloques de 10 registros con un
rango específico determinado por otro parámetro, por
ejemplo desde el 500 al 510.

Cual sería la forma adecuada de hacerlo ?
Respuesta Responder a este mensaje
#5 Accotto Maximiliano D.
06/11/2003 - 18:40 | Informe spam
mira yo usaria el top!! si pones bien tu where no deberias tener problema
alguno de performance!!
Ahora tambien si lo q queres es solo numerar los registros por ej en la
forma q se cargan en la BDD (ej el registro 1,2,3) podrias usar un campo
identity y luego hacer el where y top por este.

Ahora el rango q vos me decis como lo estableces? es un rango dentro de un
where?

Seria bueno q me digas los motivos de devolver de a 10 registros. Quizas
estamos encarando la solucion a un problema por el camino equivocado.

Un abrazo

Accotto Maximiliano Damian
"Ronald Espinosa" escribió en el mensaje
news:004f01c3a48c$4ce26cf0$
El problema sería que si el resultado del select devuelve
muchos registros y solo necesito el último sería bastante
demorado.

La situación es la siguiente, de un select que recibo como
parámetro debo devolver bloques de 10 registros con un
rango específico determinado por otro parámetro, por
ejemplo desde el 500 al 510.

Cual sería la forma adecuada de hacerlo ?
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida