Secuenciar registros de una consulta

07/11/2009 - 15:18 por Jorge Carazzo | Informe spam
Chicos, tengo una consulta que me devuelve una cierta cantidad de registros,
pero necesito que el primer campo de la misma posea un numero secuencial que
vaya desde 1 hasta el total de registros devueltos.
Hay alguna variable o instrucción que me permita eso ?


ejemplo:

campo1 campo2 campo3 campo4 ...

1 xxxxx xxxx xxxxx
2 xxxxx xxxx xxxxx
3 xxxxxx xxx xxxx

El campo1 no es un valor contenido en una tabla de la base de datos

Desde ya, gracias a todos.
 

Leer las respuestas

#1 Carlos M. Calvelo
07/11/2009 - 18:47 | Informe spam
Hola Jorge,

On 7 nov, 15:18, "Jorge Carazzo" wrote:
Chicos, tengo una consulta que me devuelve una cierta cantidad de registros,
pero necesito que el primer campo de la misma posea un numero secuencial que
vaya desde 1 hasta el total de registros devueltos.
Hay alguna variable o instrucción que me permita eso ?

ejemplo:

campo1   campo2    campo3   campo4  ...

    1                xxxxx        xxxx        xxxxx
    2                xxxxx        xxxx        xxxxx
    3                xxxxxx        xxx        xxxx

El campo1 no es un valor contenido en una tabla de la base de datos




No dices para que versión de SQL Server.
Aquí te dejo unos ejemplos y no te olvides de consultar
los BOL.

declare @T table(Campo2 varchar(10), Campo3 varchar(10))

insert into @T (Campo2, Campo3)
select 'xxx' Campo2, 'x' Campo3
union select 'xxx', 'y'
union select 'zzz', 'z'

select
row_number() over (order by Campo2) Campo1,
Campo2,
Campo3
from @T

select count(*) as Campo1, t1.Campo2, t1.Campo3
from @T t1 join @T t2
on t1.campo2>t2.campo2 or
(t1.campo2=t2.campo2 and t1.campo3>=t2.campo3)
group by t1.Campo2,t1.Campo3

Saludos,
Carlos

Preguntas similares