Bonjour,
J'ai une requête un peu particulière à faire et je bloque.
Du moins j'ai réussi à la faire avec des UNION, mais la requête est énorme, aussi je cherche à faire plus simple.
J'ai donc une table News dans laquelle j'ai tout un tas de champs, dont : IdNews, KeyWord1, KeyWord2, KeyWord3 et KeyWord4
Lorsque j'affiche une news, je souhaites afficher les 5 articles les plus en relation via les keyword.
Et le tout sans faire de requête avant pour trouver les keywords.
Je doit tout faire en ayant à utiliser que l'id de la news appelé En gros faire du WHERE ... = (SELECT KeyWord1 FROM News WHERE IdNews = $id)
J'essaie de procéder ainsi :
Recherche des news dont les 4 keywords correspondent a ceux de la news appelé, puis de 3 keyword correspondant, puis de 2 keyword correspondant.
Je récupère les 5 premiers résultats
Les keywords ne sont pas forcément dans le même ordre (ex : news1 keywords = "Course, F1, BMW, Allemagne", news2 keywords = "Allemagne, F1, voiture, circuit")
J'essaie avec des Like, des Regexp et même des match against sans résultats.
Merci