J'ai un problème avec un exercice SQL: Dans quels endroits, examinateur avec le nom de famille «Muryjas» examiné plus de 2 étudiants? Nous avons 3 tables: - Places (Id_place, place_name) - Examens (Id_examiner, Id_student, Id_place) - Examiners (Id_examiner, Examiner_name)SQL - Sous-requête/JOINS/Avoir - mauvais enregistrement
SELECT p.Place_name
FROM Places p
INNER JOIN Egzams e ON e.Id_place = p.Id_place
INNER JOIN Egzaminers ee ON ee.Id_egzaminer = e.Id_egzaminer
WHERE ee.name = "Muryjas"
GROUP BY p.Nazwa_o
HAVING COUNT(e.Id_student) > 2
Résultat attendu: devrait imprimer 2 enregistrements Résultat réel: J'ai 3 enregistrements, on a tort.
Dois-je utiliser la sous-requête? Mais je n'ai aucune idée de comment implémenter cette fonctionnalité. Aucune suggestion?
HAVING COUNT (DISTINCT de e.Id_student) – Serg
Aie. C'est une bonne réponse. Je ne sais pas pourquoi je n'ai pas vérifié les identifiants des étudiants :) – KobSen