Lister les etudiants d'une classe par jour d'examen
Posté : 06 févr. 2012, 10:47
J'ai 4 tables:
etudiants: liste des etudiants
jours: nom des jours
classes: nom des classes
joinTables: table de jointure
Je voudrais lister les etudiants qui ont passe l'examen suivant une date (jours), par classe et par annee (une seule annee presente), je cherche un resultat comme suite:
1ere classe:
Jour1: etudiant1, etudiant2
Jour1: etudiant3, etudiant4
Jour1: etudiant1, etudiant5, etudiant6 // le premier etudiant n a pas termine, donc on continue avec lui
2eme classe:
Jour1: etudiant10, etudiant11
Jour1: etudiant12, etudiant14
Jour1: etudiant10, etudiant11, etudiant12 // les etudiants n ont pas termine
ma requete est:
voici mes tables
etudiants: liste des etudiants
jours: nom des jours
classes: nom des classes
joinTables: table de jointure
Je voudrais lister les etudiants qui ont passe l'examen suivant une date (jours), par classe et par annee (une seule annee presente), je cherche un resultat comme suite:
1ere classe:
Jour1: etudiant1, etudiant2
Jour1: etudiant3, etudiant4
Jour1: etudiant1, etudiant5, etudiant6 // le premier etudiant n a pas termine, donc on continue avec lui
2eme classe:
Jour1: etudiant10, etudiant11
Jour1: etudiant12, etudiant14
Jour1: etudiant10, etudiant11, etudiant12 // les etudiants n ont pas termine
ma requete est:
SELECT * FROM joinTables, etudiants, jours WHERE joinTables.idetudiant = etudiants.ide AND joinTables.idjour = jours.jour AND joinTables.idclasse = jours.id_c AND joinTables.annee = jours.annee
Le resultat pour la 1ere classe est bon, alors qu'il me donne le meme resultat pour la 2eme classevoici mes tables
CREATE TABLE etudiants
ide
nom
etudiant1,
etudiant2,
etudiant3,
etudiant4
..
..
etudiant N
=============
CREATE table jours
idj
jour
id_c
annee
jour1, 1, 2011
jour2, 1, 2011
jour3, 1, 2011
jour4, 1, 2011
jour5, 1, 2011
jour6, 1, 2011
CREATE TABLE classes
idc
classe
classe1, classe2
CREATE TABLE joinTables
idjoin
idetudiant
idjour
idclasse
annee
* Cas de la 1ere classe
1er jour: 2 etudiants (1 et 2) ont passe l examen dans la 1ere classe
NULL, 1, 1, 1, 2011
NULL, 2, 1, 1, 2011
2eme jour: 2 etudiants (3 et 4) ont passe l examen dans la 1ere classe
NULL, 3, 2, 2, 2011
NULL, 4, 2, 2011
3eme jour: 3 etudiants (1, 5 et 6) ont passe l examen dans la 1ere classe
NULL, 1, 3, 1, 2011
NULL, 5, 3, 1, 2011
NULL, 6, 3, 1, 2011
==============
* Cas de la 2eme classe
1er jour: 2 etudiants (10 et11) ont passe l examen dans la 2eme classe
NULL, 10, 1, 1, 2011
NULL, 11, 1, 1, 2011
2eme jour: 2 etudiants (12 et 14) ont passe l examen dans la 2eme classe
NULL, 12, 2, 1, 2011
NULL, 14, 2, 1, 2011
3eme jour: 3 etudiants (10, 11, 12) ont passe l examen dans la 2eme classe
NULL, 10, 3, 1, 2011
NULL, 11, 3, 1, 2011
NULL, 12, 3, 1, 2011
merci