Bonjour,

J'essaye de faire une requête où l'utilisateur spécifie une chaine de caractères ASCII et la requête retourne le nombre d'entrées corréspondant total dans la base. Si j'effectue la recherche que sur le champ "nom du groupe", ça marche :

"SELECT COUNT(*) FROM tbl_groups WHERE vc_groupname LIKE 'Paris%'"

Par contre, je me rends compte que l'utilisateur confond le vrai nom du groupe avec le nom de la ville et même le nom d'un article qui appartient à ce groupe (et qui est dans une autre table "esclave", "tbl_items" liée à "tbl_groups" par un clé étrangère).

Donc, je veux chercher la chaine de caractères spécifiée dans un total de 3 champs sur 2 tables, mais sans retourner de doublons si par hasard le nom du groupe = nom de ville = nom d'article.

Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
            tbl_groups                              tbl_items
vc_groupname             vc_cityname                vc_itemname
 
ParisI                   Paris                      Monarticle
GroupA                   Paris                      Paris_article
Grand                    Lyon                       2eme_article
Petit                    Lyon                       Paris_article
Si l'utilisateur spécifie "Paris%" comme recherche, il devrait trouver 3 entrées (et non pas 1 ou 5).

Puis-je faire une seule requête? Ou dois-je faire 2 ou 3 requêtes et ensuite trouver une astuce pour éliminer les doublons basé sur les indexes des 2 tables ? Si une seule requête, comment le rédiger ?

Merci pour toute aide.

David.
(MySQL 4.1)