J'ai deux tables MySql avec le schéma suivant
Courses(CNO:CHAR(10),CName:VARCHAR(50), DeptId:CHAR(3)) : chaque cours a un identifiant unique appelé CNO Registre (RNO:CHAR(10), CNO:CHAR(10), Année:INTEGER, Sem:INTEGER, Grade:CHAR)
La tâche actuelle consiste à trouver tous les tuples qui satisfont (r1, r2, d), dans lesquels l'étudiant avec le numéro d'étudiant r1 a complété tous les DeptIds complétés par l'étudiant avec le numéro d'étudiant r2, et le DeptId est < Les cours du département strong>ID Strong>.
Ma méthode consiste à trouver d'abord tous les cours suivis dans le département par l'étudiant portant le numéro d'étudiant r2, puis à trouver de la même manière tous les cours suivis dans le département par l'étudiant portant le numéro r1, et à comparer s'ils sont les même. Mais je ne sais pas si c'est correct ni comment comparer les deux résultats.
C'est le code que j'utilise pour vérifier tous les cours suivis par l'élève portant le numéro de collège r2 dans un département spécifique :
Voici le lien vers la base de données de code et de données Fiddle
C'est ma méthode
Étape 1 :Créez un tableau avec deux colonnes, student1 et student2, contenant des combinaisons uniques d'étudiants
Par exemple :
Étape 2 :Créez un tableau en ajoutant un DeptId unique pour chaque DeptId différent du tableau précédent
Par exemple :
Étape 3 :Finalement, seuls les tuples dans lesquels RNO1 et RNO2 ont suivi le même parcours dans chaque DeptId sont retenus.
Ce qui suit est un exemple où rno1_rno2_deptid fait référence au tableau ci-dessus
Ce qui précède sélectionne uniquement le cas où RNO1 et RNO2 ont le même CNO dans la même série.