FoxPro/Visual FoxPro - Ordenar una tabla según porción de texto de una columna

   
Vista:

Ordenar una tabla según porción de texto de una columna

Publicado por Daniel Mecchia (6 intervenciones) el 26/05/2015 22:17:46
Tengo una tabla ordenada por un campo numérico CÓDIGO, que es aproximadamente así:
CÓDIGO - DETALLE
1 - Articulo A (4)
2 - Articulo B (2)
3 - Artículo C (1)
4 - Artículo D (20)
5 - Artículo E (15)
Necesito que se ordene tomando el número que está entre paréntesis, (en el campo texto DETALLE) quedando:
CÓDIGO - DETALLE
3 - Articulo C (1)
2 - Articulo B (2)
1 - Artículo A (4)
5 - Artículo E (15)
4 - Artículo D (20)
Desde ya muchas gracias, saludos cordiales a todos.-
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ordenar una tabla según porción de texto de una columna

Publicado por Fidel José (558 intervenciones) el 27/05/2015 02:05:30
Si es para mostrar, te puede servir este ejemplo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
*<Crear Cursor de Prueba>
LOCAL lcArt,i
RAND(-1)
lcArt ="Articulo A (4),Articulo B (2),Artículo C (1),Artículo D (20),Artículo E (15)"
CREATE CURSOR curArti ("Descrip" c(30),"PRECIO" n(12,2))
FOR i=1 TO GETWORDCOUNT(lcArt,",")
	INSERT INTO curArti (Descrip,precio) ;
		VALUES (GETWORDNUM(lcARt,i,","),ROUND(RAND(i)*100,2))
 
NEXT
SELECT curArti
GO top
BROWSE
*</Crear Cursor de Prueba>
 
*<Crear Cursor Modificado>
SELECT CAST(VAL(STREXTRACT(descrip,CHR(40),CHR(41))) as I) as orden ,;
	descrip,precio ;
	FROM curArti ;
	WHERE .t. ;
	INTO CURSOR curArtiOrd READWRITE
SELECT curArtiOrd
INDEX on orden TAG curOrden
GO top
BROWSE
*</Crear Cursor Modificado>

Si es para un índice de la tabla, tendrías que utilizar
1
2
SELECT laTabla
INDEX on VAL(STREXTRACT(descrip,CHR(40),CHR(41))) TAG iOrden
Pero debes evaluar la necesidad de utilizar este índice complejo en la tabla. Si la tabla es muy grande, se puede volver muy pesado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ordenar una tabla según porción de texto de una columna

Publicado por Daniel Mecchia (6 intervenciones) el 27/05/2015 15:58:12
Muchísimas gracias, anduvo espectacular.-
Y gracias sobre todo, por la rapidez de la respuesta; sin palabras. . . sorprendente.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar