Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-04-2011
santiaguinillo santiaguinillo is offline
Miembro
 
Registrado: abr 2007
Ubicación: Viladecans, Barcelona
Posts: 24
Poder: 0
santiaguinillo Va por buen camino
Firebird sentencia: buscar coincidencias en una columna

Hola a tod@s,

quisiera hacer una consulta de una tabla para extraer los registros que más coincidan en una columna con la frase que busco.

Imagino que es algo como lo que suelen hacer los buscadores tipo google.

Es decir, si por ejemplo busco en una tabla de entidades la entidad:
'palabra1 palabra2 palabra3'

quisiera que la consulta me mostrara los resultados que encuentre en la tabla ordenado de mayor coincidencia a menor coincidencia, por ejemplo:

resultado:
palabra2 palabra3 palabra1
palabraX palabra3 palabra2 palabra1
palabra3 palabra2 palabraY
palabra1 palabraZ palabraQ

Observar que el orden del valor del registro puede ser distinto al criterio que busco, pero debe mostrarme primero los registros que mayor coincidencia tengan.

Estoy seguro de que debe haber una función en firebird que haga esto. El like no acaba de servir para lo que intento hacer ya que al montar la sentencia parecida a:

select * from entitades where columna like '%palabra1%' or like '%palabra2%' or like '%palabra3%'

El resultado no me lo ordenaría si encuentra las 3 palabras o si sólo encuentra 1.

Si pongo AND en lugar de OR sólamente me encontraría resultados que contengan las 3 palabras y podría interesarme los registros que contengan 2 palabras.

¿Alguna idea?
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error en concatenacion de Sentencia SQL, Firebird 2.5 Adrian Murua SQL 15 02-04-2011 00:08:00
¿Cómo buscar todas las coincidencias en una base de datos en un software de lotería? Master23 Varios 3 03-07-2010 19:19:21
Cuantas coincidencias???? eduarcol Humor 2 10-09-2007 21:30:33
Duda en sentencia de firebird vivamotos Firebird e Interbase 6 10-09-2007 11:17:18
Añadir columna a dbrid, que muestre sentencia calculada, en runtime niñotaliban Conexión con bases de datos 2 28-02-2007 11:54:28


La franja horaria es GMT +2. Ahora son las 00:08:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi