ordenar datos de numeros y letras en bisual
|
 WOLVERINEX

 5 posts | | Tema: ordenar datos de numeros y letras en bisual - Fecha: 2008-01-09 21:15 Visto: 646 veces - Respuestas: 3 - Tema nº: 2492997 | Estado: Mensaje cerrado.
Características: Windows XP Profesional, P4 H.D 80GB .
tengo una base de datos de folios de peliculas que tienen numeros y letras ejemplo 1,2,3,4c,5,6c,7x,8,9,10,11,etc....
tengo esta instruccion : Select TOP 9 * from peliculas order by folio y me los ordena 1,10,11,2,3,etc...
que puedo hacer para que me los ordene de forma numerica correcta????? asi :1,2,3,4c,5,6c,7x,8,9,10,11,etc....
|
 
TheTourist

 2.175 posts | | Tema: ordenar datos de numeros y letras en bisual - Fecha: 2008-01-09 21:23
Hola
Si... el problema es que te esta tomando los valores como String y no como un valor numerico. En vez de hacerlo por SQL intenta hacer una funcion en Visual que pase la consulta SQL a un arreglo y que separe la parte numerica y la parte alfanumerica, y despues comparas. Primero la numerica y despues la alfanumeria, ordenando asi el arreglo.
Saludos
|
 
TheTourist

 2.175 posts | | Tema: ordenar datos de numeros y letras en bisual - Fecha: 2008-01-09 21:32
Algo asi
en seudolenguaje
Pasar_a_arreglo_consulta_sql(arreglo)
i=1
separar_parte_numeria_y_alfanumerica(arreglo,numerica,alfanumerica)
repetir hasta ordenado=yes
comprarar numerica,numerica[i+1]
comparar alfanumerica,alfanumerica[i+1]
if arreglo>arreglo[i+1] then
arreglo_aux=arreglo
arreglo=arreglo[i+1]
arreglo[i+1]=arreglo_aux
end if
i=i+1
fin-repetir
algo asi, hay que arreglarlo mucho pero lo hice a la rapida y en seudolenguaje, es para darte mas o menos una idea
saludos |
 elNegroWalt

 2 posts | | Tema: ordenar datos de numeros y letras en bisual - Fecha: 2008-03-11 09:00
prueba con order by (case isnumeric(campo) when 1 then right('0000000000'+ltrim(rtrim(campo)),10) else campo end)
Esto te ordenar primero los numericos en su orden natural y despues las letras. |
|
|
|