consulta con añadido de contador

30/12/2004 - 12:47 por -=JOE MAN=- | Informe spam
Hola

Tengo una tabla de contratos con IDENTITY pero claro, algunos contratos
con el ir y venir de los clientes se borran, con lo que quedan huecos.
No pretendo rellenarlos, pero sí que me interesa saber qué numero de
orden ocuparían realmente. Hago este SELECT:

SELECT ID_CONTRATO,NOMBRE_CLIENTE WHERE PAIS='españa'

Y Necesito un tercer campo que me dé un ordinal dentro de la consulta. O
sea esto:

ID CLIENTE ORDINAL
1 jose luis 1
2 pedro 2
7 Antonio 3
15 Maria 4

Estoy un poco confuso sobre el modo de generar dicho contador en la
propia consulta. ¿alguna indicación?

Gracias mil

Preguntas similare

Leer las respuestas

#1 Maxi
30/12/2004 - 13:20 | Informe spam
Hola, te paso un link donde podras hacer este tipo de cosas:

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


Salu2
Maxi


"-=JOE MAN=-" escribió en el mensaje
news:
Hola

Tengo una tabla de contratos con IDENTITY pero claro, algunos contratos
con el ir y venir de los clientes se borran, con lo que quedan huecos. No
pretendo rellenarlos, pero sí que me interesa saber qué numero de orden
ocuparían realmente. Hago este SELECT:

SELECT ID_CONTRATO,NOMBRE_CLIENTE WHERE PAIS='españa'

Y Necesito un tercer campo que me dé un ordinal dentro de la consulta. O
sea esto:

ID CLIENTE ORDINAL
1 jose luis 1
2 pedro 2
7 Antonio 3
15 Maria 4

Estoy un poco confuso sobre el modo de generar dicho contador en la propia
consulta. ¿alguna indicación?

Gracias mil
Respuesta Responder a este mensaje
#2 Eladio Rincón
30/12/2004 - 13:22 | Informe spam
Aquí tienes algunas soluciones con SQL Server 2000:
http://www.sqlteam.com/item.asp?ItemID91

Cuando llegue 2005 podremos hacerlo con la función ROW_NUMBER()... algo así
como:

SELECT orderID, Row_Number() Over (Order By orderID) as posición
FROM Sales.SalesOrderHeader

Transact-SQL Enhancements SQL Server 2005 provides new language
capabilities for developing scalable database applications. These
enhancements include error handling, recursive query capabilities,
relational operator PIVOT, APPLY, ROW_NUMBER and other row ranking
functions, and more.


http://www.microsoft.com/sql/2005/p...atures.asp


Eladio Rincón
SQL Server MVP
http://www.siquelnet.com

Solid Quality Learning (http://www.solidqualitylearning.com)
"Comparte lo que sabes, aprende lo que no sepas", FGG

Consulte el histórico del grupo en Google
http://groups.google.com/groups?gro....sqlserver

¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"-=JOE MAN=-" wrote in message
news:
Hola

Tengo una tabla de contratos con IDENTITY pero claro, algunos contratos
con el ir y venir de los clientes se borran, con lo que quedan huecos.
No pretendo rellenarlos, pero sí que me interesa saber qué numero de
orden ocuparían realmente. Hago este SELECT:

SELECT ID_CONTRATO,NOMBRE_CLIENTE WHERE PAIS='españa'

Y Necesito un tercer campo que me dé un ordinal dentro de la consulta. O
sea esto:

ID CLIENTE ORDINAL
1 jose luis 1
2 pedro 2
7 Antonio 3
15 Maria 4

Estoy un poco confuso sobre el modo de generar dicho contador en la
propia consulta. ¿alguna indicación?

Gracias mil
Respuesta Responder a este mensaje
#3 -=JOE MAN=-
30/12/2004 - 13:44 | Informe spam
Ya me parecía a mí que tenía que ser cosa compleja. Uf, había empezado a
pensar que era un zoquete porque en apariencia la cosa es sencilla.

Gracias


Eladio Rincón wrote:
Aquí tienes algunas soluciones con SQL Server 2000:
http://www.sqlteam.com/item.asp?ItemID91

Cuando llegue 2005 podremos hacerlo con la función ROW_NUMBER()... algo así
como:

SELECT orderID, Row_Number() Over (Order By orderID) as posición
FROM Sales.SalesOrderHeader

Transact-SQL Enhancements SQL Server 2005 provides new language
capabilities for developing scalable database applications. These
enhancements include error handling, recursive query capabilities,
relational operator PIVOT, APPLY, ROW_NUMBER and other row ranking
functions, and more.


http://www.microsoft.com/sql/2005/p...atures.asp


Respuesta Responder a este mensaje
#4 news.microsoft.com
30/12/2004 - 21:21 | Informe spam
Hace esto y despues me contas:

Select a.id, a.cliente, (select count(*) + 1 from contratos b where b.id <
a.id)
from contratos a
group by a.id, a.cliente

Un abrazo

Alvarez Arigos Roberto Miguel
Analista Superior de Sistemas

select i
"-=JOE MAN=-" escribió en el mensaje
news:
Hola

Tengo una tabla de contratos con IDENTITY pero claro, algunos contratos
con el ir y venir de los clientes se borran, con lo que quedan huecos.
No pretendo rellenarlos, pero sí que me interesa saber qué numero de
orden ocuparían realmente. Hago este SELECT:

SELECT ID_CONTRATO,NOMBRE_CLIENTE WHERE PAIS='españa'

Y Necesito un tercer campo que me dé un ordinal dentro de la consulta. O
sea esto:

ID CLIENTE ORDINAL
1 jose luis 1
2 pedro 2
7 Antonio 3
15 Maria 4

Estoy un poco confuso sobre el modo de generar dicho contador en la
propia consulta. ¿alguna indicación?

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