Ver Mensaje Individual
  #15 (permalink)  
Antiguo 16/10/2008, 11:33
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: ordenar bien en mysql

Se había complicado, pero observé que el problema era el último espacio, que al quedar sin cerrar, causaba problemas. Ahora he hecho un concat para cerrar toda la cadena con punto y rectificado los datos de los substring_index dentro de los substring_index.
Aunque lo creo, ahora no me atrevo a decir que esta es la 'refinitiva'
Código sql:
Ver original
  1. SELECT campotexto FROM `tabla`
  2. ORDER BY REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( SUBSTRING_INDEX( concat( campotexto, '.' ) , '.', 1 ) , 'CM', 'ZZZZ' ) , 'M', 'ZZZZZ' ) , 'CD', 'YYYY' ) , 'D', 'YYYYY' ) , 'XC', 'XXXXXXXXX' ) , 'C', 'XXXXXXXXXX' ) , 'XL', 'XXXX' ) , 'L', 'XXXXX' ) , 'IX', 'VIIII' ) , 'X', 'VIIIII' ), CAST( SUBSTRING_INDEX( SUBSTRING_INDEX( concat( campotexto, '.' ) , '.', 2 ) , '.', -1 ) AS UNSIGNED ), CAST( SUBSTRING_INDEX( SUBSTRING_INDEX( concat( campotexto, '.' ) , '.', 3 ) , '.', -1 ) AS UNSIGNED ), CAST( SUBSTRING_INDEX( SUBSTRING_INDEX( concat( campotexto, '.' ) , '.', 4 ) , '.', -1 ) AS UNSIGNED )