Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Ennumerar registros...

Estas en el tema de Ennumerar registros... en el foro de Bases de Datos General en Foros del Web. Hi..!! me podrían ayudar con una consulta SQL para ennumerar los registros de una tabla??? es decir... una columna "autonumérica" que me muestre los registros ...
  #1 (permalink)  
Antiguo 05/05/2004, 08:04
 
Fecha de Ingreso: mayo-2003
Mensajes: 33
Antigüedad: 21 años, 6 meses
Puntos: 0
Ennumerar registros...

Hi..!!

me podrían ayudar con una consulta SQL para ennumerar los registros de una tabla??? es decir... una columna "autonumérica" que me muestre los registros ordenadamente:

Columna_Numero Columna_X
-----------------------------------------
1..............................ColumnaX1
2..............................ColumnaX2
.
.
N..............................ColumnaXN


sé que se pueden crear columnas con valores autonuméricos.. pero no es el caso.. ya que si creo una columna de este tipo en mi tabla obviamente se incrementará automáticamente el Identificador... pero que pasa si borro un registro??? por ejemplo:
si tengo 10 registros tendré un valor autonúmerico del 1 al 10... pero si borro el reg. 6 tendré 1, 2, 3, 4, 5, 7, 8, 9, 10 (o sea un Count de 9) lo que quiero saber es la Consulta (únicamente la consulta SQL, puedo usar programación y hacer un barrido de la tabla, pero no es el caso....) para obtener:

ColNum Id
1..............................1
2..............................2
3..............................3
4..............................4
5..............................5
6..............................7
7..............................8
8..............................9
9............................10

si me explico??? gracias de antemano y ojalá me pudieran echar la mano...

Saludos!!!

Última edición por Jeremias Spoken; 05/05/2004 a las 08:05
  #2 (permalink)  
Antiguo 05/05/2004, 11:00
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
Lo que tu buscas es el equivalente a ROWNUM de Oracle, lastimosamente no existe en Sql Server pero puede semularlo utilizando cualquiera de los siguientes tres metodos descritos en el Site de Joe Sack

http://www.joesack.com/SQLServerROWNUM.htm
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 05/05/2004, 11:03
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
Aqui hay otra forma de hacerlo con un cursor declarado

http://www.databasejournal.com/featu...le.php/3111031

__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #4 (permalink)  
Antiguo 05/05/2004, 11:21
 
Fecha de Ingreso: mayo-2003
Mensajes: 33
Antigüedad: 21 años, 6 meses
Puntos: 0
pssss.. muchas gracias, la verdad si me sirvió.. y lo que me funcionó fue agregar una columna y despues declarar una variable y actualizar el valor incrementando...

DECLARE @ROWNUM int
SET @ROWNUM = 0
UPDATE Tabla
SET @ROWNUM = RowNum = @ROWNUM + 1

otra vez muchas gracias... gracias.. gracias...
  #5 (permalink)  
Antiguo 05/05/2004, 12:14
 
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 8 meses
Puntos: 0
y como hago para poner el orden correcto en phpmyadmin me explico.

imaginamos el ultimo registro es el 55 y el proximo seria el 56 claro, bueno si yo boro el 55, el siguiente seria el 56 y adema esto lo he visto que pone proximo autoindixe=56.

yo lo que quiero que una vez que yo borre el 55 yo le dija a phpmyadmin que el proximo autoindex es el 55.

Gracias aver si es posible una ayudita...
  #6 (permalink)  
Antiguo 05/05/2004, 12:14
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
El unico problema con ese metodo es que si tienes un numero exagerado de registros te tardara un par de segundos en ejecutarse; a parte de ellono hay nuingun problema.

__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:24.