Ver Mensaje Individual
  #10  
Antiguo 31-01-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.319
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Un TOP sirve para realizar una consulta, pero obtener sólo los n primeros registros.

Código SQL [-]
  Select * from Tabla
  Select top 100 * from tabla


Depende de lo que necesites el tiempo será muy pequeño; El problema es que el TOP te da como máximo los 100 registros y no más.

Ahora se me está ocurriendo que podría hacer un TOP para obtener 100.

Consulta:
Código SQL [-]
  SELECT TOP 100 * FROM TABLA WHERE (condiciones...)
Supongamos que obtienes:
campo1 Campo2 Campo3
1 aaaaa 1234
2 bbbbb 9999
...
100 ccccc 878787

Para obtener los siguientes podrías hacer (fijándote en el último obtenido):

Código SQL [-]
  SELECT TOP 100 * FROM TABLA WHERE (condiciones...) and (campo1 > 100)

Obtendrías los 100 siguientes...
101 aaaaa 1234
102 bbbbb 9999
...
200 ccccc 878787

Para los siguientes:
Código SQL [-]
  SELECT TOP 100 * FROM TABLA WHERE (condiciones...) and (campo1 > 200)

Y así sucesivamente.
Lo importante es que tengas un campo Clave por el que puedas ordenar. En el ejemplo he usado 1..100, 101..200,... pero serviría cualquier campo clave.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 31-01-2007 a las 19:30:36.
Responder Con Cita