Paginación en SQL Server

10/06/2005 - 15:40 por Lixus | Informe spam
Hola a todos,

Estoy intentando hacer paginación desde una consulta de SQL para mostrar
datos en una página web.

He estado estado buscando cosas en foros y páginas web, y al final creo que
lo más sencillo que he encontrado es lo siguiente

-

SELECT top #N1 *
FROM (SELECT * FROM miTabla) aliasA
WHERE aliasA.IDentidad
NOT IN (SELECT top #N2 IDentidad
FROM (SELECT * FROM miTabla) aliasB
ORDER BY campo1)
ORDER BY campo1

donde

#NPag = Número de página a mostrar.
#N1 = número de registros por página.
#N2 = [(#NPag - 1) * #N1] ayuda a buscar dónde debe empezar a contar los
registros para la página seleccionada.

-

Aún no he podido hacer pruebas a ver si me funciona, pero quería preguntar
al foro si he sabido interpretar la consulta o si esto es muy descabellado.
En fin, si está bien hecho o no.

Otra cosa que quería saber es si este tipo de consulta tendría algún tipo de
pega.

Muchas gracias por todo
Un saludo

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
10/06/2005 - 15:56 | Informe spam
Aca encontraras varias formas de hacerlo. No te guies por el enunciado, hay
ejemplos de como hacerlo en el lado del server usando procedimiento o funcion
de usuario.

How do I page through a recordset?
http://www.aspfaq.com/show.asp?id!20


AMB


"Lixus" wrote:

Hola a todos,

Estoy intentando hacer paginación desde una consulta de SQL para mostrar
datos en una página web.

He estado estado buscando cosas en foros y páginas web, y al final creo que
lo más sencillo que he encontrado es lo siguiente

-

SELECT top #N1 *
FROM (SELECT * FROM miTabla) aliasA
WHERE aliasA.IDentidad
NOT IN (SELECT top #N2 IDentidad
FROM (SELECT * FROM miTabla) aliasB
ORDER BY campo1)
ORDER BY campo1

donde

#NPag = Número de página a mostrar.
#N1 = número de registros por página.
#N2 = [(#NPag - 1) * #N1] ayuda a buscar dónde debe empezar a contar los
registros para la página seleccionada.

-

Aún no he podido hacer pruebas a ver si me funciona, pero quería preguntar
al foro si he sabido interpretar la consulta o si esto es muy descabellado.
En fin, si está bien hecho o no.

Otra cosa que quería saber es si este tipo de consulta tendría algún tipo de
pega.

Muchas gracias por todo
Un saludo



Respuesta Responder a este mensaje
#2 Salvador Ramos
10/06/2005 - 17:12 | Informe spam
Hola, mira también este enlace del maestro Itzik, y revisa el código fuente
http://www.windowsitpro.com/Article...44138.html

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"Lixus" escribió en el mensaje
news:
Hola a todos,

Estoy intentando hacer paginación desde una consulta de SQL para mostrar
datos en una página web.

He estado estado buscando cosas en foros y páginas web, y al final creo
que lo más sencillo que he encontrado es lo siguiente

-

SELECT top #N1 *
FROM (SELECT * FROM miTabla) aliasA
WHERE aliasA.IDentidad
NOT IN (SELECT top #N2 IDentidad
FROM (SELECT * FROM miTabla) aliasB
ORDER BY campo1)
ORDER BY campo1

donde

#NPag = Número de página a mostrar.
#N1 = número de registros por página.
#N2 = [(#NPag - 1) * #N1] ayuda a buscar dónde debe empezar a contar los
registros para la página seleccionada.

-

Aún no he podido hacer pruebas a ver si me funciona, pero quería preguntar
al foro si he sabido interpretar la consulta o si esto es muy
descabellado. En fin, si está bien hecho o no.

Otra cosa que quería saber es si este tipo de consulta tendría algún tipo
de pega.

Muchas gracias por todo
Un saludo


Respuesta Responder a este mensaje
#3 Alejandro Mesa
10/06/2005 - 17:25 | Informe spam
Salvador,

Este articulo esta muy interesante (como todo lo que escribe Itzik), pero se
necesita estar subscrito para poderlo ver.


Saludos,

Alejandro Mesa

"Salvador Ramos" wrote:

Hola, mira también este enlace del maestro Itzik, y revisa el código fuente
http://www.windowsitpro.com/Article...44138.html

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"Lixus" escribió en el mensaje
news:
> Hola a todos,
>
> Estoy intentando hacer paginación desde una consulta de SQL para mostrar
> datos en una página web.
>
> He estado estado buscando cosas en foros y páginas web, y al final creo
> que lo más sencillo que he encontrado es lo siguiente
>
> -
>
> SELECT top #N1 *
> FROM (SELECT * FROM miTabla) aliasA
> WHERE aliasA.IDentidad
> NOT IN (SELECT top #N2 IDentidad
> FROM (SELECT * FROM miTabla) aliasB
> ORDER BY campo1)
> ORDER BY campo1
>
> donde
>
> #NPag = Número de página a mostrar.
> #N1 = número de registros por página.
> #N2 = [(#NPag - 1) * #N1] ayuda a buscar dónde debe empezar a contar los
> registros para la página seleccionada.
>
> -
>
> Aún no he podido hacer pruebas a ver si me funciona, pero quería preguntar
> al foro si he sabido interpretar la consulta o si esto es muy
> descabellado. En fin, si está bien hecho o no.
>
> Otra cosa que quería saber es si este tipo de consulta tendría algún tipo
> de pega.
>
> Muchas gracias por todo
> Un saludo
>
>



Respuesta Responder a este mensaje
#4 Salvador Ramos
13/06/2005 - 09:20 | Informe spam
Si, claro, pero al menos puedes bajar el código fuente con los ejemplos del
artículo, aun sin estar subscrito, y creo que eso también puede ayudar :-)

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"Alejandro Mesa" escribió en el
mensaje news:
Salvador,

Este articulo esta muy interesante (como todo lo que escribe Itzik), pero
se
necesita estar subscrito para poderlo ver.


Saludos,

Alejandro Mesa

"Salvador Ramos" wrote:

Hola, mira también este enlace del maestro Itzik, y revisa el código
fuente
http://www.windowsitpro.com/Article...44138.html

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"Lixus" escribió en el mensaje
news:
> Hola a todos,
>
> Estoy intentando hacer paginación desde una consulta de SQL para
> mostrar
> datos en una página web.
>
> He estado estado buscando cosas en foros y páginas web, y al final creo
> que lo más sencillo que he encontrado es lo siguiente
>
> -
>
> SELECT top #N1 *
> FROM (SELECT * FROM miTabla) aliasA
> WHERE aliasA.IDentidad
> NOT IN (SELECT top #N2 IDentidad
> FROM (SELECT * FROM miTabla) aliasB
> ORDER BY campo1)
> ORDER BY campo1
>
> donde
>
> #NPag = Número de página a mostrar.
> #N1 = número de registros por página.
> #N2 = [(#NPag - 1) * #N1] ayuda a buscar dónde debe empezar a contar
> los
> registros para la página seleccionada.
>
> -
>
> Aún no he podido hacer pruebas a ver si me funciona, pero quería
> preguntar
> al foro si he sabido interpretar la consulta o si esto es muy
> descabellado. En fin, si está bien hecho o no.
>
> Otra cosa que quería saber es si este tipo de consulta tendría algún
> tipo
> de pega.
>
> Muchas gracias por todo
> Un saludo
>
>



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