Bonjour,
J'ai une table TABLE contenant les champs :
Les entrées ont un NAME quelconque, un ACT entre 1 et 5, et CHECKED qui vaut 0 pour false et n'importe quel entier pour true.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 _id (INTEGER PK) NAME (VARCHAR) ACT (INTEGER) CHECKED (INTEGER)
Le but est d'obtenir un tableau de résultat comportant comme colonnes : ACT, compte d'entrée pour cet ACT, compte d'entrée CHECKED pour cet ACT.
En gros, le tableau devra ressembler à :
J'arrive en fait à récupérer soit les colonnes ACT et TOTAL dans le même résultat, soit les colonnes ACT et CHECKED via les requêtes suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ACT | TOTAL | CHECKED 1 | 21 | 5 2 | 24 | 20 3 | 27 | 7 4 | 10 | 8 5 | 41 | 11
ACT et TOTAL :
ACT et CHECHED :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 select ACT, count(*) FROM TABLE WHERE ACT IN (select ACT from TABLE group by ACT) GROUP BY ACT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select ACT, count(*) FROM TABLE WHERE ACT IN (select ACT from TABLE group by ACT) AND CHECKED != 0 GROUP BY ACT
Comment faire pour ajouter la colonne manquante à l'un de ces deux résultats ?
Partager