2016-10-15 2 views
-2

Je suis dans la phase d'apprentissage de PL/SQL, besoin d'aide pour récupérer ces données; Récupérer une liste d'étudiants ayant sélectionné plus de 4 cours. Si aucun étudiant n'est retourné, la sortie doit être «Il n'y a pas d'étudiants qui ont sélectionné plus de 4 cours». S'il y a de tels étudiants, produisez leurs notes moyennes. Je dois également inclure la gestion des exceptions dans votre script et exécuter une instruction SQL pour terminer la tâche: retourner studentID avec leur note moyenne s'ils ont sélectionné plus de 4 cours.Code PL/SQL pour récupérer une liste d'étudiants qui ont sélectionné plus de 4 cours

C'est ma structure:

classe (class_id, course_id)

Inscrivez-vous (student_id, class_id)

année (student_id, class_id, le score)

+1

Vous ne pouvez pas utiliser PL/SQL sur SQL Server. Veuillez corriger les balises pour refléter votre environnement correctement. – sstan

+0

Avez-vous une question technique spécifique ou demandez-vous simplement de faire faire vos devoirs? Est-ce que le matériel de cours ne vous donne aucune indication sur la façon d'aborder la tâche? –

+0

Il peut être plus simple de simplement copier la version de votre camarade de classe sur https://stackoverflow.com/questions/40092475/perform-calculations-on-data-in-table-type? –

Répondre

0

I ne comprends pas ta question. Vous devez faire une fonction dans PLSQL, puis vous interrogez la fonction?

Pour sélectionner les étudiants ayant sélectionné plus de 4 cours, vous devez utiliser la clause "group by". Par exemple:

select student_id, count(*) courses 
from enroll 
having courses > 4 
group by student_id;