Auteur Sujet: Requête Sql  (Lu 714 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Dimitri01

  • Connaisseur
  • ***
  • Messages: 355
Requête Sql
« le: 17 janvier 2004 à 15:07:07 »
Rebonjour,


Dans l'élaboration d'une requête sql, je suis obligé de faire une boucle (pour la construire).

Le but est de récupérer plusieurs mots entrés par le visiteur, et d'effectuer une recherche dans la table qui renvoit les résultats des enregistrements contenant TOUS les mots.

Intérogeant plusieurs champs, je peux me retrouver avec une instruction WHERE très longue :

...
WHERE (champ1 LIKE '%mot_cle_1%'
       OR champ2 LIKE '%mot_cle_1%'
       OR champ3 LIKE '%mot_cle_1%'
       OR champ4 LIKE '%mot_cle_1%'
       OR champ5 LIKE '%mot_cle_1%'
       OR champ6 LIKE '%mot_cle_1%')
    AND  
            (champ1 LIKE '%mot_cle_2%'
    AND  champ2 LIKE '%mot_cle_2%'
    AND  champ3 LIKE '%mot_cle_2%'
    AND  champ4 LIKE '%mot_cle_2%'
    AND  champ5 LIKE '%mot_cle_2%'
    AND  champ6 LIKE '%mot_cle_2%')
...

Imaginez si j'ai 8 mots-clés...

Est-ce un problème ? L'instruction ne peut pas être trop longue ??

Vous pouvez vous demander si ma table est bien construite, car pourquoi rechercher des termes identiques dans des champs différents.

C'est normal dans mon cas. J'ai par exemple un champ nom, sigle, adresse... et je veux donner la possibiliter à une persone d'entrer des mots-clés pour faire une recherche sur plusieurs champs.

Ne cherchez pas, ma table est déjà existante, et je ne peux faire autrement dans l'immédiat.

Ma question concerne seulement l'élaboration de ma requête sql.

Merci !