Salut
J'ai un petit soucis concernant une requete SQL
Voilà j'ai les tables suivantes :
Classes ( idcla , libcla , ....)
Eleves ( idelv , nomelv , prenelv , .... , #idcla , ....)
Matieres ( idmat , libmat , ....)
Trimestres ( idtrim , libtrim , datedeb , datefin)
Notes ( #idelv , #idmat , #idtrim , note1 , note2 , ...)
Supposant qu'un prof qui enseigne une matière donnée n'a pas encore saisi les notes de ses élèves dans cette matière et on veut qu'en choisissant sa classe , une liste de ses élèves s'affiche ainsi que les colonnes : note1 , note2 , ...c'est-à-dire en tout ça :
Nom Prénom note1 note2
Bernard Yoan NULL NULL
Dumoulin Seb NULL NULL
...... ..... NULL NULL
Bref , chaque prof a ses propres classes et il doit saisir leurs notes dans la matière qu'il enseigne donc si on suppose que la table Matières est totalement saisie et qu'elle contient toutes les matières enseignées mais que la table Notes n'en contient pas 3 ou 4 ( par exemple les profs de physique et de maths ont oublié de saisir les notes de leurs élèves dans ces matières ).
Ma question : Comment , à travers une requete SQL , afficher la liste des élèves d'une classe donnée dont leurs notes n'ont pas encore été saisies et ce pour une matière donnée et un trimestre donné , c'est-à-dire afficher les élèves ( nom , prénom , ...) et les colonnes représentant leurs notes respectives mais dont le contenu est : NULL afin de permettre au prof de saisir les notes.
J'ai essayé cette requete SQL mais ça ne me donne pas ce que je voulais :
Voilà , j'utilise la base de données SQL SERVER 2008 , Merci pour tout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT e.idelv,e.nom,e.pren,c.libcla,m.libmat,t.libtrim,n.note1,n.note2,n.note3 FROM classes c INNER JOIN eleves e ON c.idcla=e.idcla LEFT JOIN notes n ON e.idelv=n.idelv WHERE e.idcla =4 AND n.idmat=3 AND n.idtrim=1
Partager