Voici ce que je travaille avec (SQL Server):SQL Server rejoint, groupes, etc. et faire simple numéro crissement
- départements: deptID, DEPTNAME
- étudiants: studID , studName, deptID
- affectation: studID, courseID, état
Les étudiants sont affectés à un département et le dossier de l'étudiant contient le numéro d'identification du département. La «cession» est un lien entre un étudiant et un cours (cours non montré) qui détient un statut (incomplet, réussi, non tenté).
Je veux la liste des départements et, chaque département, le nombre total d'étudiants dans ce département et le nombre total de missions avec chaque statut individuel (voir exemple ci-dessous si cette formulation est source de confusion.)
Idéalement J'aurais une rangée retournée par département. Lorsque vous exécutez des requêtes comme celle-ci, c'est généralement un problème que je rencontre.
Exemple: Un département a 5 étudiants et 5 cours. Chaque étudiant se voit attribuer chacun de ces 5 cours. Un seul étudiant a terminé tous les cours, les autres n'ont rien fait. Par conséquent, les totaux pour ce ministère seraient 20 non-essayés, 5 réussis, 0 incomplets. Je serai heureux avec une réponse qui suggère le SQL à un niveau très abstrait ... J'ai juste besoin de savoir si les jointures doivent être imbriquées ou si cela fonctionne.
Travaillé comme un charme (en théorie ... n'a pas vérifié les résultats.) N'a jamais utilisé un conditionnel comme ça avant. – Guttsy