Bonjour, je vous explique mon problème en version simplifiée:
Je fais un système de gestion de notes d'étudiants, et j'ai 3 tables (pour ce qui nous intéresse je simplifie volontairement les tables / requêtes etc) :
etudiant (idEtudiant, Nom, Prenom, etc)
evaluation (idEvaluation, description, date etc)
note (idEtudiant, idEvaluation, Note, Deleted)
dans la table note, je dois enregistrer l'historique de ce qu'il s'est passé sur les notes, d'ou le deleted, qui contient NOW() au moment ou une note est "supprimée" (en fait elle ne l'est pas).
Ce que je cherche à faire :
Afficher tous les étudiants (idEtudiant) pour une évaluation donnée (idEvaluation), avec leur note si elle n'est pas "Deleted", NULL sinon
Pour le moment, j'ai ca :
Code :
- SELECT *
- FROM etudiant
- JOIN evaluation
- LEFT JOIN note USING (idEvaluation, idEtudiant)
- WHERE (Deleted=0 OR Deleted IS NULL)
|
Mais ca ne marche pas car si un étudiant à une note Deleted (et pas de note non deleted), il n'est pas dans le resultat de la requete (ce qui est normal vu la construction de la requete).
Comment pourrais-je construire ma requete pour que ca fonctionne ?
D'avance merci pour le temps que vous allez me consacrer
---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980