primeros n valores del resultado de una consulta (donde n es dinamico) uso Top ?

21/08/2004 - 00:31 por Rodrigo Ibaraki | Informe spam
Hola señores

Me he topado con el siguiente caso en el que necesito ayuda:

Requiero que del resultado de una consulta los primeros N valores (no un
numero fijo)
es decir algo como lo siguiente

declare @exedentes as int
set @exedentes = 5
select top @excedentes fechahora
from ventas

ese ejemplo me genera un error, como digo mediante variable que el valor del
top ?

Gracias de Antemano

RIP
 

Leer las respuestas

#1 Rodrigo Ibaraki
21/08/2004 - 01:55 | Informe spam
ok gracias ni modo ... concatenando es la otra opcion aunque da que pensar
al respecto :)


"MAXI" wrote in message
news:
Hola, en sql2k no lo podes hacer :(, como opcion te queda usar SQLDinamico


o
usar SET ROWCOUNT de la siguiente manera:

DECLARE @N INT
SET @N = 4

set ROWCOUNT @N

pd: claro que debes sacar el top no y luego de terminar el query poner el
SET en 0 porque sino vas a estar en problemas :(

Suerte y espero te sea util




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar
Msn Messager:

"Rodrigo Ibaraki" escribió en el mensaje
news:
> Hola señores
>
> Me he topado con el siguiente caso en el que necesito ayuda:
>
> Requiero que del resultado de una consulta los primeros N valores (no un
> numero fijo)
> es decir algo como lo siguiente
>
> declare @exedentes as int
> set @exedentes = 5
> select top @excedentes fechahora
> from ventas
>
> ese ejemplo me genera un error, como digo mediante variable que el valor
del
> top ?
>
> Gracias de Antemano
>
> RIP
>
>


Preguntas similares