Ver Mensaje Individual
  #16 (permalink)  
Antiguo 23/12/2009, 15:29
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 Consulta

killerx_8937:
prueba esto:
Código MySQL:
Ver original
  1. SELECT CodigoInterno FROM Inventario
  2. ORDER BY LEFT(CodigoInterno,1),
  3. CAST(SUBSTRING(SUBSTRING_INDEX(CodigoInterno,'-',1), - (LENGTH(SUBSTRING_INDEX(CodigoInterno,'-',1))-1)) AS UNSIGNED),
  4. IF(INSTR(CodigoInterno,'-') > 0, CAST(SUBSTRING_INDEX(CodigoInterno, '-',-1) AS UNSIGNED),0)

Ya ves que sólo he hecho algunas pruebas parte por parte en la línea de lo que te aconsejaron serser y gnzsoloyo. Recuerda sólo el consejo que te ha dado gnzsoloyo: normaliza los datos para evitar consultas complejas como esta.