Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Secuenciar registros de una consulta

3 views
Skip to first unread message

Jorge Carazzo

unread,
Nov 7, 2009, 9:18:01 AM11/7/09
to
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.

Carlos M. Calvelo

unread,
Nov 7, 2009, 12:47:48 PM11/7/09
to
Hola Jorge,

On 7 nov, 15:18, "Jorge Carazzo" <jorgecara...@yahoo.com.ar> 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'

-- Con 2005, 2008:
select
row_number() over (order by Campo2) Campo1,
Campo2,
Campo3
from @T

-- Con 2000:
-- (Asumiendo que {Campo2, Campo3} es una clave)
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

0 new messages