[SQL et Access]
Yoskopolite
Messages postés
92
Statut
Membre
-
Frappe Misere Messages postés 2702 Statut Membre -
Frappe Misere Messages postés 2702 Statut Membre -
Bonjour à tous,
Je souhaite faire une requête permettant de compter le nombre d'enregistrement que j'ai dans chacun de mes catégories d'enregistrement. J'effectue donc cette requête :
SELECT tableData.categorie, Count(*) AS nombre
FROM table
GROUP BY tableData.categorie;
Mon problème est que si une catégorie ne comprend aucun enregistrement, la requête ne retourne rien, alors que j'aimerais qu'elle retourne "0" (zéro).
(J'ai une table "tableCategories" qui contient la liste de toutes mes catégories, mais que je n'utilise pas dans cette requête... Je suppose que je devrais l'utiliser pour arriver à mes fins mais je ne sais pas comment...)
D'avance merci pour vos réponses.
PS : cette requête sert à alimenter un état (de type tableau) dans Access.
Je souhaite faire une requête permettant de compter le nombre d'enregistrement que j'ai dans chacun de mes catégories d'enregistrement. J'effectue donc cette requête :
SELECT tableData.categorie, Count(*) AS nombre
FROM table
GROUP BY tableData.categorie;
Mon problème est que si une catégorie ne comprend aucun enregistrement, la requête ne retourne rien, alors que j'aimerais qu'elle retourne "0" (zéro).
(J'ai une table "tableCategories" qui contient la liste de toutes mes catégories, mais que je n'utilise pas dans cette requête... Je suppose que je devrais l'utiliser pour arriver à mes fins mais je ne sais pas comment...)
D'avance merci pour vos réponses.
PS : cette requête sert à alimenter un état (de type tableau) dans Access.
A voir également:
- [SQL et Access]
- Logiciel sql - Télécharger - Bases de données
- Access appdata - Guide
- Acer quick access - Forum logiciel systeme
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Requête sql pix - Forum Python
3 réponses
tu ne peux pas utiliser * pour compter ; prends n'importe quelle colonne et utilise nz pour éviter les problemes dus à la valeur null
Merci du conseil. Cependant, mon problème n'est pas là (désolé de pas avoir été assez clair). En effet, certaines catégories sont présentes dans la table "tableCategories" mais n'ont aucun enregistrement correspondant dans la table "tableData". Prenons un exemple concret pour être plus clair :
Voici le contenu de la table "tableCategorie" :
[N°] - [nom]
1 - cat1
2 - cat2
3 - cat3
et voici un exemple de contenu de la table "tableData" :
[N°] - [categorie] -
1 - cat2
2 - cat1
3 - cat2
4 - cat1
5 - NULL
Je souhaiterais que ma requête retire de tout ça :
[catégorie] - [nombre]
cat1 - 2 (il y a 2 éléments de la catégorie 1)
cat2 - 2 (il y a 2 éléments de la catégorie 2)
cat3 - 0 (il y a 0 élément de la catégorie 3)
Alors que ta solution (si j'ai bien compris) me donnerais plutôt :
[catégorie] - [nombre]
cat1 - 2
cat2 - 2
NULL - 1
De plus, j'ai essayé de faire un Count(tableData.categorie) au lieu du Count(*), mais ça ne fonctionne pas : ça ne me retourne plus rien
edit : ah si, ça, ça marche, désolé ^^'
Voici le contenu de la table "tableCategorie" :
[N°] - [nom]
1 - cat1
2 - cat2
3 - cat3
et voici un exemple de contenu de la table "tableData" :
[N°] - [categorie] -
1 - cat2
2 - cat1
3 - cat2
4 - cat1
5 - NULL
Je souhaiterais que ma requête retire de tout ça :
[catégorie] - [nombre]
cat1 - 2 (il y a 2 éléments de la catégorie 1)
cat2 - 2 (il y a 2 éléments de la catégorie 2)
cat3 - 0 (il y a 0 élément de la catégorie 3)
Alors que ta solution (si j'ai bien compris) me donnerais plutôt :
[catégorie] - [nombre]
cat1 - 2
cat2 - 2
NULL - 1
De plus, j'ai essayé de faire un Count(tableData.categorie) au lieu du Count(*), mais ça ne fonctionne pas : ça ne me retourne plus rien
edit : ah si, ça, ça marche, désolé ^^'