Bonjour,
je rencontre une petite difficulté concernant une requête pour afficher des événements dont l'utilisateur en cours est soit un participant, soit le créateur de l'événement.
j'ai donc deux tables utilisées :
* evenements : id(PRIMARY), nom, id_auteur, datedeb, datefin
* evenements_concerne : id_evenement,id_user,presence
NOTE : presence est un TINY INT (0:ne participe pas,1:en attente de confirmation ,2:participe)
Je veux construire une requete qui m'affiche pour l'utilisateur X (ici : 3) pour un jour donné (ici : 2010-11-04).
SELECT DISTINCT evenements.* FROM evenements
LEFT JOIN evenements_concerne
ON evenements_concerne.id_evenement=evenements.id
WHERE
DATE_FORMAT(evenements.datedeb,'%Y-%m-%d') <= '2010-11-04'
AND
DATE_FORMAT(evenements.datefin,'%Y-%m-%d') >= '2010-11-04'
AND
( evenements_concerne.id_user = 3 OR evenements.id_auteur = 3 )
ORDER BY evenements.datedeb ASC
Mais si je rajoute : SELECT DISTINCT evenements.*,evenements_concerne.presence AS presence
pour récupérer l'indicateur de présence à l'évenement, il m'affiche plusieurs fois le même événement lorsque l'id_auteur de l'événement est 3.
NOTE : le problème réside peut-être dans le fait que la référence à la table relationnel "evenements_concerne" n'est pas "obligatoire", dans le sens où je veux lister les événements simple (sans relation) mais dont l'id_auteur est l'utilisateur 3, et également lister les événements ou l'utilisateur 3 est participant (via evenement_concerne)
Merci d'avance pour votre aide.
Partager