Se crea una tabla con dos campos donde el primero tenga el mismo orden de la consulta que quieres ordenar, y el segundo campo lo colocamos con el orden deseado
ejemplo: Script
necesitamos ordenar un resultado de la forma siguiente:
1,2,3,4,5,6,7,8,10,11,12,9
con el nueve al final de todo.
pasos 1
creamos la tabla que va forzar el orden
CREATE TABLE ORDENADOR_EQUIVALENTE
(numero VARCHAR(10),
valor VARCHAR(10)
)
insertamos los datos:
campo número esta ordenado y tiene los mismo de la consulta.
campo valor esta ordenado como vos queres y con letras.
INSERT INTO ORDENADOR_EQUIVALENTE VALUES( '01','a')
INSERT INTO ORDENADOR_EQUIVALENTE VALUES( '02','b')
INSERT INTO ORDENADOR_EQUIVALENTE VALUES( '03','c')
INSERT INTO ORDENADOR_EQUIVALENTE VALUES( '04','d')
INSERT INTO ORDENADOR_EQUIVALENTE VALUES( '05','e')
INSERT INTO ORDENADOR_EQUIVALENTE VALUES( '06','f')
INSERT INTO ORDENADOR_EQUIVALENTE VALUES( '07','g')
INSERT INTO ORDENADOR_EQUIVALENTE VALUES( '08','h')
INSERT INTO ORDENADOR_EQUIVALENTE VALUES( '09','l')
INSERT INTO ORDENADOR_EQUIVALENTE VALUES( '10','i')
INSERT INTO ORDENADOR_EQUIVALENTE VALUES( '11','j')
INSERT INTO ORDENADOR_EQUIVALENTE VALUES( '12','k')
solo debemos relacionarla en el lugar presiso y que sea el campo numero el que se relacione
ej.
INNER JOIN ORDENADOR_EQUIVALENTE OE ON OE.numero = MAESTRA.IDESTADOHDR
y el campo valor el que ordene en la clausu:
ej.
ORDER BY OE.valor ASC,HIS.TS desc
listo.