Notas .NET

Thursday, August 10, 2006

Un query para paginar a nuestro antojo.

Veamos este primer ejemplo que tomará los primeros 10 registros encontrados en la tabla Clientes:

SELECT TOP 10 * FROM Clientes
WHERE IdCliente NOT IN
(
SELECT TOP 0 IdCliente FROM Clientes
ORDER BY IdCliente
)
ORDER BY IdCliente


Ahora tomando los siguientes 10 registros:

SELECT TOP 10 * FROM Clientes
WHERE IdCliente NOT IN
(
SELECT TOP 10 IdCliente FROM Clientes
ORDER BY IdCliente
)
ORDER BY IdCliente


Ahora tomando el tercer grupo (TOP 20) de 10 registros (TOP 10):

SELECT TOP 10 * FROM Clientes
WHERE IdCliente NOT IN
(
SELECT TOP 20 IdCliente FROM Clientes
ORDER BY IdCliente
)
ORDER BY IdCliente


Obsérvese la aplicación de filtros al ejemplo anterior.

SELECT TOP 10 * FROM Clientes
WHERE IdCliente NOT IN
(
SELECT TOP 20 IdCliente FROM Clientes
WHERE Vigencia > GetDate()
ORDER BY IdCliente
)
AND WHERE Vigencia > GetDate()
ORDER BY IdCliente

0 Comments:

Post a Comment

<< Home