ordenar resultados por coincidencias
Publicado por kong (682 intervenciones) el 18/04/2008 19:01:55
Saludos gente.
Tengo una rutina para buscar coincidencias. Quisiera saber como se los puede ordenar el resultado segun mayor coincidencia.
.........................
nombrecampo="NombredelCampo"
frase=" "+ALLTRIM(thisform.text1.Value)+" "
CuentaPalabras=OCCURS(" ",frase)-1
IF LEN(ALLTRIM(frase))>0
FOR a=1 TO CuentaPalabras
palabra=UPPER(STREXTRACT(frase," "," ",a))
IF LEN(ALLTRIM(palabra))>0
IF a>1
condicion=condicion+" OR "+"'"+palabra+"'"+"$UPPER("+nombreCampo+")"
ELSE
condicion="'"+palabra+"'"+"$UPPER("+nombreCampo+")"
ENDIF
ENDIF
ENDFOR
condicion="("+condicion+")"
SELECT * FROM mitabla WHERE &condicion INTO CURSOR micursor
ENDIF
..........................
Tengo una rutina para buscar coincidencias. Quisiera saber como se los puede ordenar el resultado segun mayor coincidencia.
.........................
nombrecampo="NombredelCampo"
frase=" "+ALLTRIM(thisform.text1.Value)+" "
CuentaPalabras=OCCURS(" ",frase)-1
IF LEN(ALLTRIM(frase))>0
FOR a=1 TO CuentaPalabras
palabra=UPPER(STREXTRACT(frase," "," ",a))
IF LEN(ALLTRIM(palabra))>0
IF a>1
condicion=condicion+" OR "+"'"+palabra+"'"+"$UPPER("+nombreCampo+")"
ELSE
condicion="'"+palabra+"'"+"$UPPER("+nombreCampo+")"
ENDIF
ENDIF
ENDFOR
condicion="("+condicion+")"
SELECT * FROM mitabla WHERE &condicion INTO CURSOR micursor
ENDIF
..........................
Valora esta pregunta
0