Bonjour à tous,
Je viens vers vous car je suis dans un projet et j'ai un problème de SQL. Je vous remercie d'avance de vos réponses.
Je dispose d'une table qui me contient les informations d'une vidéo (id, nom, description). Nous disposons d'une seconde table disposant des tags des vidéos (3 champs : id, video_info, content_tags).
Je souhaite faire marcher un champ de recherche permettant de rechercher les tags dans la seconde table (content_tags), en rapport avec les tags de la vidéo en cours de vision.
Exemple : Je cherche dauphin, le moteur de recherche doit me sortir les vidéos ayant le tag dauphin, mais il est possible que les vidéos aient un autre tag. Il doit être également possible de chercher 2 tags a la fois (dauphin, enfant par exemple).
Nous devons passer par 2 tables car les vidéos peuvent avoir plusieurs tags.
La recherche d'un mot simple marche sans soucis.
Ma requete ne m'affiche pour l'instant aucun résultat, alors qu'elle devrait m'en afficher 2 :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT videos_info.* FROM videos_tags, videos_info WHERE ( videos_tags.content_tags LIKE '%dauphin%' AND videos_tags.content_tags LIKE '%enfant%' ) AND videos_info.id = videos_tags.id_videos GROUP BY videos_info.id HAVING count(videos_info.id) > 0
Le AND central changé en "OR", j'ai tous les résultats pour dauphin et enfant, qu'il y ait les deux tags ou un seul. Il me faudrais uniquement les vidéos avec les deux tags.
Voila ! Merci pour ceux qui prendront le temps de m'aider a résoudre mon probleme !
Partager