viernes, 28 de noviembre de 2014

Ordenar columna alfanumérica de tabla en MySql

Para ordenar una columna de tipo VARCHAR con valores Alfanuméricos, donde el valor inicia por un valor numérico seguido o no de una letra del alfabeto, por ejemplo:

Codigo
Valor
19
1
20
2
21
3B
22
3A
23
4
24
5
25
12
26
7
27
6A
28
6B
29
8
30
9
31
10
32
11A
33
11C
34
11B

El campo Codigo indica el orden de registro de los valores. Pero se desea ordenar segun el campo Valor teniendo en cuenta q el orden lo determina el número inicial del campo y en caso que se encuentren valores iguales la letra lo determinara en orden alfabético. Tal cual se aprecia a continuación:


Codigo
Valor
19
1
20
2
22
3A
21
3B
23
4
24
5
27
6A
28
6B
26
7
29
8
30
9
31
10
32
11A
34
11B
33
11C
25
12

Para realizarlo se utilizó la consulta sql:

SELECT Codigo, Valor FROM Prueba ORDER BY Valor + 0, Valor;

miércoles, 26 de noviembre de 2014

Obtener ID de último registro insertado en mysql

Si utilizan mysql y desean obtener el último ID autonumérico o autogenerado por la inserción de una fila a una tabla para luego procesarlo como FK en otra tabla relacionada, pueden usar la función:

LAST_INSERT_ID()
Por ejemplo:

SELECT last_insert_id() AS UltCod;

Otra alternativa es:
SELECT @@IDENTITY FROM MyTable;