Bonjour,
C'est un problème assez récurrent chez moi, mais je suis encore en train de lutter pour sélectionner les éléments d'une table en fonction d'éléments situés dans une autre table.
Imaginons des réunions, qu'on appel Session et constitué de plusieurs créneaux horaires sur des jours différents...
donc
Session ( id_session, session.nom_session )
Creneaux (id_creneaux, #session_creneaux, debut_creneaux)
Je veux récupérer et (trier organiser) toutes les sessions débutant entre :debut et :fin.
J'ai écrit
Le résultat étant la liste de toutes les sessions ayant un creneaux entre :debut et :fin, comme si j'avais fait une relation simple entre session et creneaux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 select session.id_session, c2.debut from creneaux as c1 left join (select creneaux.id_creneaux, min(debut_creneaux) as debut from creneaux group by creneaux.id_creneaux ) as c2 on c1.id_creneaux = c2.id_creneaux, session where c2.debut between :debut and :fin and session.id_session = c1.session_creneaux group by session.id_session order by c2.debut
Qu'est-ce donc que je fait mal ?
En vous remerciant !
Partager