Sélection et tri sur deux tables
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
Code:
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 |
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.
Qu'est-ce donc que je fait mal ?
En vous remerciant !