Bonsoir tout le monde,
J'ai un petit problème de rédaction de requête SQL et je trouve pas la solution, ça serait sympa si quelqu'un pouvait m'aider.
Mon schéma est en pièce joint au message.
En gros, j'aimerais obtenir (en une seule requête) une liste des catégories de permissions (id et nom de la catégorie) avec le nombre d'applications qui ont au moins une permission dans cette catégorie.
Disons les permission P1, P2, P3, P4 et les catégories C1, C2.
P1,P2 ==> C1
P3,P4 ==> C2
L'application A1 utilise P1, P2, P3, P4
L'application A2 utilise P1, P2
L'application A3 utilise P1
J'aimerais avoir comme résultat :
Catégorie C1, 3 applications
Catégorie C2, 1 application
J'en suis arrivé à la requête suivante :
Alors ça m'affiche bien chaque catégorie mais la quantité d'application est complètement fausse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT id AS _id, category.name || ' (' || Count(application) || ')' AS name FROM category LEFT OUTER JOIN relation_category_permission ON category.id = relation_category_permission.category INNER JOIN relation_application_permission ON relation_category_permission.permission = relation_application_permission.permission GROUP BY category.id;
Une idée de correction ?
Merci d'avance et bonne soirée !!!
PoZZyX
Partager