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 :
Si l'utilisateur spécifie "Paris%" comme recherche, il devrait trouver 3 entrées (et non pas 1 ou 5).
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
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)
Partager