PDA

Ver la Versión Completa : Ordenar String


Neeruu
18-09-2008, 04:50:31
Hola a todos como estas???!!!

Tengo el siguiente inconveniente!!!

Tengo una tabla donde tengo un Codigo y una Descripcion , los dos del tipo string;


con estos datos:

1.1 xxxxxxx
1.1.1 xxxxxxx
1.1.2 xxxxxxx
1.1.3 xxxxxxx
....
1.1.10
1.1.11

El tema es que tengo que ordenarlos por codigo
y me ordena por ejemplo asi:

1.1
1.1.1
1.1.10
1.1.11
1.1.2

Cuando en realidad necesito que quede asi

1.1
1.1.1
1.1.2
1.1.3
...
1.1.9
1.1.10
1.1.11
1.1.12

Pero no se como hacer...
Ingresar una columma con un valor integer (llamemosle "Orden")puede ser pero hay que tener en cuenta que se puede presentar este caso


1.1
1.1.1
1.1.2
1.1.3
1.1.3.1 //Entrada Nueva
1.1.3.2 //Entrada Nueva
1.1.3.3 //Entrada Nueva
1.1.4
....

Y cada vez que inserto un fila en medio de mis datos tendre que cambiar la numeracion del campo orden


Alguien sabe como hacerlo....

Saluda Atte Neeruu!!!:)

Neftali [Germán.Estévez]
18-09-2008, 09:23:59
Normalmente lo que se suele hacer es normalizar ese campo para conseguir:

1.1.00.0
1.1.01.0
1.1.02.2
1.1.03.0
....
1.1.10.0
1.1.11.0

(para conseguirlo debes tener siempre presente la combinación más grande)

Si ahora insertas:
1.1.3.1 //Entrada Nueva
1.1.3.2 //Entrada Nueva
1.1.3.3 //Entrada Nueva

que sería así:
1.1.03.1
1.1.03.2
1.1.03.3

Te lo insertaría correctamente.

A veces hacer estos cambios en el campo que se tiene no es posible; En ese caso lo que puedes hacer es crear otro campo que realmente te devuelva la ordenación correcta; Puede estar oculto y el usuario no debe enterarse ni que existe; Debes rellenarlo tú por código con el valor correcto.

Cuando rellenas 1.0, en tu campo pones 01.00.00.00
Cuando rellenas 1.1.3.2, en tu campo pones 01.01.03.02
...

Neeruu
18-09-2008, 18:58:50
Gracias Neftali!!!!!!

Muchas Gracias!!!!

Ya hice un fix, que me toma el campo codigo lo formatea y lo guarda en un campo orden, y quedo de 10!!!!


Saluda Atte Neeruu!!!:)