Bonjour,
J'ai un soucis pour créer une requête où au moins un des critères doit être vérifié.
Je m'explique, voici le schéma de la base :
ETUDIANT (numetud, nom, prenom, datenaiss, civilite, patronyme, numinsee ,adresse)
MODULE (codmod, nomod, effecmax)
EXAMEN (codmod, codexam, datexam)
RESULTAT (numetud, codmod, codexam, note)
INSCRIPTION ( numetud, codmod, datinsc, numtd)
PREREQUIS (codmod, codmodpreq, noteprereq)
Et offet je veux afficher les etudiants(nom,...) qui sont inscrits à la fois à deux modules dont on précisera le codmod dans la requête. je dois faire plusieurs sollution mais je bloque surtout (avec un opérateur ensembliste(minus)).
voici ma/mes requête(s) :
prompt donner le num du premier module1
accept module1
prompt donner le num du deuxieme module2
accept module2
select nom, prenom, t.numetud, i.codmod from etudiant t, inscription i where
t.numetud=i.numetud and i.codmod in ( select i.codmod from inscription i minus
select i.codmod from inscription i where i.codmod not like '%&module1%' and i.codmod not like '%&module2%');
mais ça m'affiche tous les etudiants qui sont inscrit dans un module ou l'autre ou les deux mais pas les deux a la fois!!
j'ai essayer de rajouter une clause genre afficher uniquement les etudiants k'on le méme numetud (and i1.numetud=i2.numetud) mais ça trouve aucun etudiant donc voilà je me retourne vers vous!
je précise que je suis débutant
merci
Partager