Consulta SQL Server por bloques

01/12/2003 - 21:29 por Sergio Gallardo Contreras | Informe spam
Quisiera que una consulta me regresara la información segmentada, por
ejemplo, que devolviera primero las 10 primeras filas de la consulta, luego
las siguientes 10, etc. para un motor de búsqueda tipo Google, Yahoo, etc.
Lo puedo hacer a nivel de recordset, pero quisiera que el servidor de base
de datos fuera el que hiciera el trabajo. Gracias.
 

Leer las respuestas

#1 Salvador Ramos
01/12/2003 - 21:42 | Informe spam
Hola:

Eso debes controlarlo tu mendiante una condición WHERE.

Yo suelo hacerlo combinando la clausula TOP y la condición WHERE, siempre
que en tu tabla tengas una Primary Key. Te paso un ejemplo sobre Northwind:

DECLARE @PK VARCHAR(5)
SELECT @PK = 'ALFKI'
SELECT TOP 10 * FROM Customers
WHERE CustomerID > @PK
SELECT @PK = 'BSBEV'
SELECT TOP 10 * FROM Customers
WHERE CustomerID > @PK

Esto lo puedes hacer también en un procedimiento almacenado que reciba el
último valor mostrado, y te devuelva los 10 siguientes.


Un saludo
Salvador Ramos
Murcia - España

No puedes conseguir software rápidamente disminuyendo su calidad.
En cambio, si que lo consigues aumentando la calidad.

www.helpdna.net (información sobre Windows DNA, SQL Server, VB, ...)


Microsoft MVP SQL Server
MCP SQL Server
PASS Spanish Group (www.sqlpass.org)


"Sergio Gallardo Contreras" escribió en el
mensaje news:
Quisiera que una consulta me regresara la información segmentada, por
ejemplo, que devolviera primero las 10 primeras filas de la consulta,


luego
las siguientes 10, etc. para un motor de búsqueda tipo Google, Yahoo, etc.
Lo puedo hacer a nivel de recordset, pero quisiera que el servidor de base
de datos fuera el que hiciera el trabajo. Gracias.


Preguntas similares