HELP ! pour un LIKE '%mot1%mot2%mot3 ........'

Signaler
Messages postés
216
Date d'inscription
dimanche 13 janvier 2002
Statut
Modérateur
Dernière intervention
7 novembre 2009
-
Messages postés
216
Date d'inscription
dimanche 13 janvier 2002
Statut
Modérateur
Dernière intervention
7 novembre 2009
-
Bonjour,

J'ai une problématique aigue ! Je dois faire une recherche en UNE requête SQL (si possible) ...

En faite il faut l'équivalent à une clause LIKE '%mot1%mot2%mot3'

Mais je dois effectuer cette recherche en ne tenant pas compte de l'ordre des mots ...

Vous voyez une possibilité ? y a t il un paramètre qui permette à SQLServer d'effectuer cette recherche sans tenir compte de l'ordre des mots dans le champs ?

vladam
(pour vous servir :) )
A voir également:

7 réponses

Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
Salut


Pourquoi pas :


"SELECT * FROM TaTable WHERE ( Tonchamp LIKE '%mot1%' OR Tonchamp LIKE '%mot2%' OR Tomchamp LIKE '%mot3%' )"

(j'ai pas vérifié mais c'est un truc dans ce genre là...)
si il faut va voir sur SQLFr......ils sont censé mieux s'y connaitre qu'ici...

@+++

Nurgle
C'est une grande folie que de vouloir être sage tout seul !
Messages postés
216
Date d'inscription
dimanche 13 janvier 2002
Statut
Modérateur
Dernière intervention
7 novembre 2009

POUAAAAAA !!!! c'est évident en plus !

Il va faloir que je dorme un peu, car là ! c'est grave !

*note : ne plus programmer 20h/24 *

Merci Nurgle

vladam
(pour vous servir :) )
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
t'emballe pas trop vite, je viens de tester et ça a pas marché !! (peut être que j'ai mal testé, moi aussi je suis fatigué...)

ça je suis sûr que ça marche (et que ça prend uniquement des valeurs distinctes...):

"SELECT * FROM Tatable WHERE unchamp LIKE '%mot1%' UNION SELECT * FROM Tatable WHERE unchamp LIKE '%mot2%' UNION SELECT * FROM Tatable WHERE unchamp LIKE '%mot3%'"

(choisit la manière que tu veux, tant que ça fonctionne...)

Nurgle
C'est une grande folie que de vouloir être sage tout seul !

Nurgle
C'est une grande folie que de vouloir être sage tout seul !
Messages postés
216
Date d'inscription
dimanche 13 janvier 2002
Statut
Modérateur
Dernière intervention
7 novembre 2009

c'est bon, j'ai trouvé ...


Pas en une seule requête mais au top !

En faite, j'ai fais un composant me permettant d'indexer mes champs comme
le fait SQL Server.
Je vais finaliser ce composant et je vais le mettre ici, j'utilise une technique
d'analyse sémantique. c'est un peut long à programmer, mais au final,
le résultat est super fiable, et avec un indice de cohérence (taux) en sortie.
Je vais ajouter un correcteur de saisie.
Ce composant servira, je pense, a ceux comme moi, dont l'hébergeur ne veut
pas créer de catalogue (pour SQLServer 2000 et MySQL 4.XX
Je vais faire les tests sur mon site de e-commerce et j'ajoute les sources
du composant ici.

Je me remets au travail :-) *la sémantique, c'est super intéressant*

vladam
(pour vous servir :) )
Messages postés
136
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
25 mai 2012

tu as testé avec
'"& mot1 &"' au lieu de '%mot1%'
Messages postés
136
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
25 mai 2012

ha oui et aussi des fois il faut remmettre tout a niveau avec un ucase pour que cela fonctionne bien
Messages postés
216
Date d'inscription
dimanche 13 janvier 2002
Statut
Modérateur
Dernière intervention
7 novembre 2009

Merci pour ces conseils :-)
Comme le moteur de recherche est une chose primordial pour mon site, j'ai développé un composant, à la final :-) (j'ai plus de 10 000 références sur http://www.euros-laser.com
Chaque nuit, je réalise une indexation de tous les mots (sauf ceux en liste noir), en utilisant un algo spécifique qui me permet ensuite, d'obtenir le résultat des recherches beaucoup plus rapidement ! ce composant me permet entre autre d'afficher le résultat suivant le taux de cohérence des enregistrements (une sorte de notation calculée comme le PageRank).
c'est vraiment très puissant ! et sous forme de composant, je peux le réutiliser à loisir pour mes autres sites :-)

vladam
(pour vous servir :) )