Ver Mensaje Individual
  #9  
Antiguo 02-05-2019
clauxs88 clauxs88 is offline
Miembro
 
Registrado: feb 2013
Ubicación: Asuncion
Posts: 11
Reputación: 0
clauxs88 Va por buen camino
Genial Codigillo, me sirvio!

Me sirvió bastante para algo similar que necesitaba guillotmarc !!

Cita:
Empezado por guillotmarc Ver Mensaje
No, no existe nada similar para Firebird.

Pero te puedes construir una consulta, parecida a la que proponías inicialmente, en la que además calculas el número de coincidencias sobre las palabras buscadas, y ordenas de mayor a menor en función de esas coincidencias.

Por ejplo., para buscar por 3 palabras :

Código SQL [-]
select CLI_DIRECCION,
       (case when CLI_DIRECCION containing :PALABRA1 then 1 else 0 end +
        case when CLI_DIRECCION containing :PALABRA2 then 1 else 0 end +
        case when CLI_DIRECCION containing :PALABRA2 then 1 else 0 end) as COINCIDENCIAS
from CL_CLIENTES
where CLI_DIRECCION containing :PALABRA1 or
      CLI_DIRECCION containing :PALABRA2 or
      CLI_DIRECCION containing :PALABRA3
order by COINCIDENCIAS descending

Naturalmente puedes ampliar la consulta hasta 10, 15, 20 o 50 palabras, de manera que la misma consulta te sirva para cualquier búsqueda que quiera hacer el usuario (en un momento dado solo tendrás que asignar valor a tantos parámetros como palabras está buscando el usuario).

Saludos.
Responder Con Cita