Bonjour,
j'ai trois tables que je souhaite lier entre elles assez particulièrement.
Voici une énumération des tables avec les champs liés
- J'ai une table forums avec f_id
- J'ai une table topics avec un champ f_id (lié à f_id de la table forums), et un champ t_last_p_time donnant le timestamp du dernier message posté dans ce sujet
- J'ai une table topics_read qui comprend un champ t_id (lié au topic) ainsi qu'un champ tr_last_time donnant la date à laquelle nous avons lu le dernier message de ce sujet (cette table comprend également un champ u_id pour l'ID du membre)
Mon but est de savoir s'il reste des sujets non lus dans le forum ou non, je dois donc construire une requète qui :
- Sellectionne comme table principale les forums
- Joint les forums à la table topics pour récupérer le nombre de sujets non lus
- Pour savoir si un sujet est lu on joint la table topics à la table topics_read et on compare topics.t_last_p_time à topics_read.tr_last_time
Le problème que j'ai rencontré est que lorsque je met deux LEFT JOIN dans une requète, ca joint la table topics à forums, et topics_read à forums. Or moi je veux joindre le résultat d'une jointure entre topics_reads / topics avec forums.
Peut on gérer ca avec des ( ) sur les jointures ? je n'ai pas trouvé comment faire, merci pour votre aide.
Partager