Consulta sql..

19/04/2005 - 16:02 por ChevyGNL | Informe spam
Hola grupo,

necesito recuperar el n-avo registro de una serie de registros ordenados, he
tratado con TOP pero
me gustaría conocer otras alternativas...

anexo el sguiente script:
Consecutivo es PK

create table #ttest ( Consecutivo int , ValorX varchar(10))

insert into #ttest values ( 5 , 'cinco' )
insert into #ttest values ( 6 , 'seis' )
insert into #ttest values ( 7 , 'siete' )
insert into #ttest values ( 8 , 'ocho' )
insert into #ttest values ( 10 , 'diez' )
insert into #ttest values ( 15 , 'quince' )
insert into #ttest values ( 16 , 'dieciseis' )

select * from #ttest

/*
necesito recuperar el registro número 4,que en este caso seria el registro
con Consecutivo = 8,
u otro. Lo único que sé es la posición del registro dentro de la tabla.
El campo Consecutivo es una PK
*/

mil gracias

Eusebio

Preguntas similare

Leer las respuestas

#1 qwalgrande
19/04/2005 - 17:14 | Informe spam
Hola.

No he probado mucho, pero quizá esto te valga:

Para obtener el último registro de series consecutivas:

select T_1.*
from
#ttest T inner join --de todos mis registros...
#ttest T_1 on T.Consecutivo = T_1.Consecutivo - 1 left join --... sólo
aquellos cuyo registro anterior esté presente...
#ttest T_2 on T_1.Consecutivo = T_2.Consecutivo - 1 --... y en caso de
series de más de 2 ó más consecutivos...
where T_2.Consecutivo is null -- ... sólo el último de la serie

Si sólo quieres el primero, pues añades el top 1 y el order by
T_1.Consecutivo.

qwalgrande


"ChevyGNL" wrote in message
news:O%
Hola grupo,

necesito recuperar el n-avo registro de una serie de registros ordenados,
he
tratado con TOP pero
me gustaría conocer otras alternativas...

anexo el sguiente script:
Consecutivo es PK

create table #ttest ( Consecutivo int , ValorX varchar(10))

insert into #ttest values ( 5 , 'cinco' )
insert into #ttest values ( 6 , 'seis' )
insert into #ttest values ( 7 , 'siete' )
insert into #ttest values ( 8 , 'ocho' )
insert into #ttest values ( 10 , 'diez' )
insert into #ttest values ( 15 , 'quince' )
insert into #ttest values ( 16 , 'dieciseis' )

select * from #ttest

/*
necesito recuperar el registro número 4,que en este caso seria el registro
con Consecutivo = 8,
u otro. Lo único que sé es la posición del registro dentro de la tabla.
El campo Consecutivo es una PK
*/

mil gracias

Eusebio


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