Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/04/2010, 12:13
riestra
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 3 meses
Puntos: 0
Crear indice autonumerico en una tabla con datos

Hola, tengo una tabla con registros desordenados, quiero ordenarlos y poder crear un indice autonumerico, y asignar a cada fila una vez ordenada un numero empezando por el 1 y en orden ascendente, para poder recuperar el último elemento insertado de forma sencilla.

Los registros vienen en formato Año/Numero expediente, Ejemplo:

1900/101
1900/102
1900/103
.
.
.
2010/500
2010/501
2010/502

----------------

La primera parte ya está conseguida, devuelvo los registros ordenados por año y dentro de cada año por numero de expediente. El problema está que ahora nos e como asignarle un indice a cada elemento, empezando en 1.

Para la consulta he empleado la siguiente instrucción:
Código:
SELECT SUBSTRING_INDEX( t1.Numero_expediente, '/', 1 ) , CAST( SUBSTRING_INDEX( t2.Numero_expediente, '/', -1 ) AS UNSIGNED )
FROM tabladatosencargos t1
JOIN tabladatosencargos t2 ON t1.Numero_expediente = t2.Numero_expediente
ORDER by 0+CONCAT(SUBSTRING_INDEX( t1.Numero_expediente, '/', 1 ),SUBSTRING_INDEX( t2.Numero_expediente, '/', -1 ))
Agradezco cualquier ayuda.
Gracias, un saludo!