• # Jointure externe

    Posté par . En réponse au message Implémentation d'une agrégation 0...1 et comptage des éléments agrégés. Évalué à 5.

    Bonjour,

    Ton implémentation est bonne si un utilisateur ne peut appartenir qu'à un seul groupe au maximum. Par contre, ta requête doit prendre en compte tous les groupes, même ceux non présents dans la table des utilisateurs. Donc jointure externe du côté de la table des groupes :

    SELECT group.name, COUNT(user.id) FROM group LEFT OUTER JOIN user ON user.group_id=group.id GROUP BY group.id;

    Ca donne qqch du genre

    +--------+------------------+
    | name | count(user.id) |
    +--------+------------------+
    | group1 | 2 |
    | group2 | 2 |
    | group3 | 0 |
    | group4 | 0 |
    | group5 | 0 |
    +--------+------------------+

    Cdt