Retroceder   Foros del Web > Programación para sitios web > Bases de Datos
Crea un nuevo usuario o inicia sesión utilizando tu cuenta de Facebook
Connect with Facebook

Respuesta
 
Herramientas Desplegado
Antiguo 08-may-2008, 06:32   #1 (permalink)
cmarrero se está portando bien
 
Avatar de cmarrero
 
Fecha de Ingreso: enero-2008
Ubicación: San Luis
Mensajes: 352
Enviar un mensaje por MSN a cmarrero Enviar un mensaje por Yahoo  a cmarrero
cmarrero está desconectado
Exclamación LIMIT con SQL Server

No puedo creer que no exista el LIMIT N, N en SQL server 2005 Express...

Esto me impide hacer un millon de cosas....

Cual seria la solucion para crear un LIMIT N, N en SQL server.......

Vi consultas con TOP N, pero trae de 0 hasta N, despues vi hacer subconsultas super complicadas que no las entiendo...

Una Ayudita con esto, necesito Horientacion....

Gracias
  Responder Citando
Antiguo 08-may-2008, 09:49   #2 (permalink)
quimfv se está ganando tu confianza
 
Fecha de Ingreso: marzo-2008
Mensajes: 743
quimfv está desconectado
Re: LIMIT con SQL Server

No se si hay otras soluciones pero esta no parece complicada.

Si partimos de que simpre tenemos que usar algun campo de ordenación puesto que en las bases de datos relacionales el orden de insercion de los registros no debe importar, por eso hay que escoger siempre un criterio de ordenación.

Código:
select top M * from 
          (select top N+M ColumnA, ColumnB ... from tablaX order by fld) a 
order by fld desc
En la subconsulta selecionamos los N+M registros ordenados ascendentemente por "fld", en la principal seleccionamos de los anteriores los M primeros pero ordenados descendentemente por "fld", con lo que conseguimos lo mismo que si usaras LIMIT N, M.

Con numeros

Código:
Select top 5 * from
    (select top 20 ColumnA, ColumnB ... from tablaX order by fld)
order by fld desc;
Esto te da lo mismo que LIMIT 16, 20 bueno del 16 al 20

Un engorro pero no todo es ANSI SQL.


Quim

Última edición por quimfv; 08-may-2008 a las 09:56
  Responder Citando
Antiguo 08-may-2008, 09:49   #3 (permalink)
Beakdan se está ganando tu confianza
 
Avatar de Beakdan
 
Fecha de Ingreso: noviembre-2002
Ubicación: México, D.F.
Mensajes: 367
Beakdan está desconectado
Re: LIMIT con SQL Server

Busca información sobre las funciones de Ranking, perticularmente la función ROW_NUMBER(). No es tan directo como LIMIT, pero la función está especificada en el estándar SQL2003.
  Responder Citando
Respuesta
No hay votos aún.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code está Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado
Trackbacks está Desactivado
Pingbacks está Desactivado
Refbacks está Desactivado



La zona horaria es GMT -6. Ahora son las 18:28.
Políticas de Uso de Foros del Web


Message Board Statistics

SEO by vBSEO 3.3.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100