2010-10-25 7 views
0

J'ai ce site pour rechercher des livres, il n'y a qu'un seul champ de texte, pour rechercher par mots, auteur de titre, tout ce qu'il tape.rechercher dans un tableau

si le nom du livre est bonjour au revoir, et l'auteur est A. Jones

si je tape bonjour
i obtenir le résultat du livre (ma requête utilise la déclaration comme)
i vérifier si title like %string_introduced% or author like %string_introduced% en utilisant SQL en java

le problème est quand je présente dans le champ de texte « bonjour jones » il me dit qu'il n'y a aucun résultat

le problème est que cela se traduit à l'endroit où title like %hello jones% or author like %hello jones%, ce i s pourquoi cela ne fonctionne pas

Existe-t-il un moyen de faire cela en SQL, sans avoir à faire une division de la chaîne?

Répondre

2

Non, je pense que vous devrez scinder la chaîne.

WHERE (title LIKE '%hello%' OR title LIKE '%jones%') 
OR (author LIKE '%hello%' OR author LIKE '%jones%') 

Les parenthèses ne sont pas nécessaires ici. Ils sont juste pour la clarté.

connexes:

+0

Je ne vois pas la pertinence de l'article cité. –

+0

@ David-W-Fenton: La pertinence est que Access * n'a pas * la recherche de texte intégral. Si c'était le cas, je l'aurais suggéré au lieu d'utiliser LIKE. –

+0

La partie intéressante de cette question est * Si Access n'a pas de texte intégral, quelle est la meilleure alternative pour atteindre le même objectif de recherche en texte intégral? * Malheureusement, la seule réponse utile semble être de passer à une autre base de données. –

Questions connexes