Numero correlativo en un Select

13/08/2004 - 16:33 por knito | Informe spam
Hola Listeros.

Necesito su ayuda, debo construir un Select de una tabla x que lee datos
de una tabla cualquiera, pero debo incluir un campo correlativo que
"enumere" cada registro retornado, pero de manera dinámica.

Espero me puedan ayudar, de antemano. Gracias.

Knito.

Preguntas similare

Leer las respuestas

#6 Maxi
13/08/2004 - 17:25 | Informe spam
Tienes toda la Razon!! el tuyo es mas eficiente ya por solo el hecho de no
tener la subconsulta :-)

Voy a ver si armo una pruebita con 1 millon de registros a ver si chilla ;-)

Gracias Ulises!!


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"ulises" escribió en el mensaje
news:5a0801c48148$feecb290$
Lo que muestra el artículo es un SUBSELECT y si no me
equivoco haría una agregación fila por fila por lo que se
tornará pesada con el aumento de las mismas. La
modificación es a través de un join y sería cuestión de
probar pero no creo que aumente mucho el tiempo con el
aumento de filas ... :) ...

Saludos,
Ulises

Ulises, el segundo articulo muestra tambien tu tecnica!!


por eso lo puse
:-), francamente es la que mejor me gusta, el unico


problema puede ser el
numero de registros, si es muy grande la cosa se pone un


poco pesadita :(


Salu2
-


-
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
-


-
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"ulises" escribió en el mensaje
news:56f601c48145$d75adfc0$
Las soluciones planteadas hacen uso de tablas temporales o
de columnas identity, otra forma de numerarlas sin usar
esas técnicas es realizar un join con la misma tabla, p.e.
usando la tabla authors de la BD pubs :

select count(*) as secuencia, a.au_id, a.au_lname,
a.au_fname
from authors a join authors b
on a.au_id >= b.au_id
group by a.au_id, a.au_lname, a.au_fname

el resultado :

secuencia au_id au_lname au_fname


-
1 172-32-1176 White Johnson
2 213-46-8915 Green Marjorie
3 238-95-7766 Carson Cheryl


Saludos,
Ulises
Hola, hay varias tecnicas para poder hacer ello.

Te recomiendo que leas estos links

http://www.microsoft.com/spanish/ms.../mtj.net/v




o
ices/art167.asp

o

http://www.sqlteam.com/item.asp?ItemID91

Que los disfrutes :-)


Salu2





-
-
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET





-
-
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"knito" <knito~@~chile~.~com> escribió en el mensaje
news:%
Hola Listeros.

Necesito su ayuda, debo construir un Select de una




tabla x que lee
datos
de una tabla cualquiera, pero debo incluir un campo




correlativo que
"enumere" cada registro retornado, pero de manera




dinámica.

Espero me puedan ayudar, de antemano. Gracias.

Knito.








Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.732 / Virus Database: 486 - Release Date:


29/07/2004


.






Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.732 / Virus Database: 486 - Release Date: 29/07/2004
Respuesta Responder a este mensaje
#7 Fernando España
13/08/2004 - 17:45 | Informe spam
jajaja, como dicen aca.. paguen cuarto!!..
jajaja, Hoy es viernes!!.. jaja



"Maxi" wrote in message
news:
Tienes toda la Razon!! el tuyo es mas eficiente ya por solo el hecho de no
tener la subconsulta :-)

Voy a ver si armo una pruebita con 1 millon de registros a ver si chilla


;-)

Gracias Ulises!!


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"ulises" escribió en el mensaje
news:5a0801c48148$feecb290$
Lo que muestra el artículo es un SUBSELECT y si no me
equivoco haría una agregación fila por fila por lo que se
tornará pesada con el aumento de las mismas. La
modificación es a través de un join y sería cuestión de
probar pero no creo que aumente mucho el tiempo con el
aumento de filas ... :) ...

Saludos,
Ulises

>Ulises, el segundo articulo muestra tambien tu tecnica!!
por eso lo puse
>:-), francamente es la que mejor me gusta, el unico
problema puede ser el
>numero de registros, si es muy grande la cosa se pone un
poco pesadita :(
>
>
>Salu2
>-
-
>Maxi
>Buenos Aires - Argentina
>Desarrollador Microsoft 3 Estrellas .NET
>-
-
>Nunca consideres el estudio como una obligación sino como
>una oportunidad para penetrar en el bello y maravillosos
>mundo del saber.
>- Albert Einstein
>
>
>
>"ulises" escribió en el mensaje
>news:56f601c48145$d75adfc0$
>Las soluciones planteadas hacen uso de tablas temporales o
>de columnas identity, otra forma de numerarlas sin usar
>esas técnicas es realizar un join con la misma tabla, p.e.
>usando la tabla authors de la BD pubs :
>
>select count(*) as secuencia, a.au_id, a.au_lname,
>a.au_fname
>from authors a join authors b
>on a.au_id >= b.au_id
>group by a.au_id, a.au_lname, a.au_fname
>
>el resultado :
>
>secuencia au_id au_lname au_fname
-
>1 172-32-1176 White Johnson
>2 213-46-8915 Green Marjorie
>3 238-95-7766 Carson Cheryl
>
>
>Saludos,
>Ulises
>>Hola, hay varias tecnicas para poder hacer ello.
>>
>>Te recomiendo que leas estos links
>>
>>http://www.microsoft.com/spanish/ms.../mtj.net/v
o
>ices/art167.asp
>>
>>o
>>
>>http://www.sqlteam.com/item.asp?ItemID91
>>
>>Que los disfrutes :-)
>>
>>
>>Salu2
>>
-
>-
>>Maxi
>>Buenos Aires - Argentina
>>Desarrollador Microsoft 3 Estrellas .NET
>>
-
>-
>>Nunca consideres el estudio como una obligación sino como
>>una oportunidad para penetrar en el bello y maravillosos
>>mundo del saber.
>>- Albert Einstein
>>
>>
>>
>>"knito" <knito~@~chile~.~com> escribió en el mensaje
>>news:%
>>> Hola Listeros.
>>>
>>> Necesito su ayuda, debo construir un Select de una
>tabla x que lee
>>datos
>>> de una tabla cualquiera, pero debo incluir un campo
>correlativo que
>>> "enumere" cada registro retornado, pero de manera
>dinámica.
>>>
>>> Espero me puedan ayudar, de antemano. Gracias.
>>>
>>> Knito.
>
>
>
>
>Outgoing mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.732 / Virus Database: 486 - Release Date:
29/07/2004
>
>
>.
>



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.732 / Virus Database: 486 - Release Date: 29/07/2004


Respuesta Responder a este mensaje
#8 Melissa Ruiz
15/08/2004 - 17:47 | Informe spam
Que ingeniosa se ve esa solucion !!!


"ulises" wrote in message
news:56f601c48145$d75adfc0$
Las soluciones planteadas hacen uso de tablas temporales o
de columnas identity, otra forma de numerarlas sin usar
esas técnicas es realizar un join con la misma tabla, p.e.
usando la tabla authors de la BD pubs :

select count(*) as secuencia, a.au_id, a.au_lname,
a.au_fname
from authors a join authors b
on a.au_id >= b.au_id
group by a.au_id, a.au_lname, a.au_fname

el resultado :

secuencia au_id au_lname au_fname
1 172-32-1176 White Johnson
2 213-46-8915 Green Marjorie
3 238-95-7766 Carson Cheryl
...

Saludos,
Ulises
Hola, hay varias tecnicas para poder hacer ello.

Te recomiendo que leas estos links

http://www.microsoft.com/spanish/ms...mtj.net/vo


ices/art167.asp

o

http://www.sqlteam.com/item.asp?ItemID91

Que los disfrutes :-)


Salu2
-


-
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
-


-
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"knito" <knito~@~chile~.~com> escribió en el mensaje
news:%
Hola Listeros.

Necesito su ayuda, debo construir un Select de una




tabla x que lee
datos
de una tabla cualquiera, pero debo incluir un campo




correlativo que
"enumere" cada registro retornado, pero de manera




dinámica.

Espero me puedan ayudar, de antemano. Gracias.

Knito.
Respuesta Responder a este mensaje
#9 Javier Loria
16/08/2004 - 17:54 | Informe spam
Hola:
Una nota adicional, la condicion del JOIN no tiene que ser llave
Primaria, puede ser cualquier columna o combinacion de columnas.
Adicionalmente si la combinacion de columnas no es unica entonces se
producen "empates" esto es las filas se numeran 1, 4,4,4, 5, 6, ; que
significar que las filas 2-3-4 empatan por el cuarto lugar y si les da el
"ultimo numero del empate", si esto no es lo deseado puede cambiarse la
condicion por > en vez de >= y se le suma 1. en este caso el empate
produciria 1, 2,2,2,5, 6, .
Normalmente numerar el el cliente y no en el servidor es mucho mejor.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"ulises" wrote in message
news:56f601c48145$d75adfc0$
Las soluciones planteadas hacen uso de tablas temporales o
de columnas identity, otra forma de numerarlas sin usar
esas técnicas es realizar un join con la misma tabla, p.e.
usando la tabla authors de la BD pubs :

select count(*) as secuencia, a.au_id, a.au_lname,
a.au_fname
from authors a join authors b
on a.au_id >= b.au_id
group by a.au_id, a.au_lname, a.au_fname

el resultado :

secuencia au_id au_lname au_fname
1 172-32-1176 White Johnson
2 213-46-8915 Green Marjorie
3 238-95-7766 Carson Cheryl
...

Saludos,
Ulises
Hola, hay varias tecnicas para poder hacer ello.

Te recomiendo que leas estos links

http://www.microsoft.com/spanish/ms...mtj.net/vo


ices/art167.asp

o

http://www.sqlteam.com/item.asp?ItemID91

Que los disfrutes :-)


Salu2
-


-
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
-


-
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"knito" <knito~@~chile~.~com> escribió en el mensaje
news:%
Hola Listeros.

Necesito su ayuda, debo construir un Select de una




tabla x que lee
datos
de una tabla cualquiera, pero debo incluir un campo




correlativo que
"enumere" cada registro retornado, pero de manera




dinámica.

Espero me puedan ayudar, de antemano. Gracias.

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