Seleccionar por bloque

26/02/2007 - 20:50 por Aldo Salvado | Informe spam
Sres. junto con saludarles quisiera saber como seleccionar registros por
cantidad, por ejemplo realizo

SELECT * TOP 50 FROM TABLA

pero como podria recuperar los 50 que vienen despues de estos ?

Mochas Graias.

Saludos.

Aldo.

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera (MVP)
26/02/2007 - 20:01 | Informe spam
Si buscas en San Google encontrarás muchas propuestas para resolver eso. Te
doy algunas opciones:

Efficient and DYNAMIC Server-Side Paging with T-SQL
http://weblogs.sqlteam.com/jeffs/ar.../1085.aspx

Server Side Paging using SQL Server 2005
http://www.sqlteam.com/item.asp?ItemID&455


Gustavo Larriera, MVP
http://aspnet2.com/mvp.ashx?GustavoLarriera
http://solidqualitylearning.com/blogs/glarriera/
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Aldo Salvado" wrote:

Sres. junto con saludarles quisiera saber como seleccionar registros por
cantidad, por ejemplo realizo

SELECT * TOP 50 FROM TABLA

pero como podria recuperar los 50 que vienen despues de estos ?

Mochas Graias.

Saludos.

Aldo.



Respuesta Responder a este mensaje
#2 Aldo Salvado
26/02/2007 - 21:14 | Informe spam
Muchisimas Gracias Gustavo.


Saludos.

Aldo.

"Gustavo Larriera (MVP)"
escribió en el mensaje
news:
Si buscas en San Google encontrarás muchas propuestas para resolver eso.
Te
doy algunas opciones:

Efficient and DYNAMIC Server-Side Paging with T-SQL
http://weblogs.sqlteam.com/jeffs/ar.../1085.aspx

Server Side Paging using SQL Server 2005
http://www.sqlteam.com/item.asp?ItemID&455


Gustavo Larriera, MVP
http://aspnet2.com/mvp.ashx?GustavoLarriera
http://solidqualitylearning.com/blogs/glarriera/
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Aldo Salvado" wrote:

Sres. junto con saludarles quisiera saber como seleccionar registros por
cantidad, por ejemplo realizo

SELECT * TOP 50 FROM TABLA

pero como podria recuperar los 50 que vienen despues de estos ?

Mochas Graias.

Saludos.

Aldo.



Respuesta Responder a este mensaje
#3 Carlos M. Calvelo
26/02/2007 - 22:09 | Informe spam
On 26 feb, 20:50, "Aldo Salvado" wrote:
Sres. junto con saludarles quisiera saber como seleccionar registros por
cantidad, por ejemplo realizo

SELECT * TOP 50 FROM TABLA

pero como podria recuperar los 50 que vienen despues de estos ?

Mochas Graias.

Saludos.

Aldo.



Hola,

Necesitamos un orden si queremos hablar de los 50 *siguientes*.
Suponiendo un orden sobre 'tablaID':

pag_primera:
select top 50 * from tabla order by tablaID

pag_siguiente:
@ultima_linea = [tablaID de la última linea en la página actual]

select top 50 * from tabla where tablaID > @ultima_linea order by
tablaID

pag_anterior:
@primera_linea = [tablaID de la primera linea en la página actual]

select * from (select top 50 * from tabla where tablaID <
@primera_linea order by tablaID desc) T order by tablaID

pag_última:
select * from (select top 50 * from tabla order by tablaID desc) T
order by tablaID

Para pag_anterior y pag_última sería suficiente con el select en el
from
si se acepta el orden 'DESC'.

Cuidado al principio y al final:
Si por ejemplo la pag_anterior no devuelve nada ( o menos de 50
lineas)
se podría saltar al pag_primera y los mismo para pag_siguiente,
pag_ultima.

Saludos,
Carlos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida