Problème : COUNT() incorrect
Bonjour à tous :
Voici le contexte, je possède une table qui contient les champs suivants :
ID |
Date |
id_type_livre |
1 |
2014-02-01 |
1 |
2 |
2014-02-02 |
1 |
3 |
2014-02-02 |
1 |
4 |
2014-02-02 |
3 |
5 |
2014-02-03 |
2 |
"ID" étant une clé primaire et "id_type_livre", une clé étrangère. C'est une table qui regroupe tout les types de livre déposés par jour. (une ligne = un type de livre déposé)
Ce que j'aimerai faire c'est un module de statistique à partir de cette table et pour se faire, il me faudrait une requête SQL qui me retourne un tableau comme celui ci :
Date |
id_type_livre_un |
Nb_id_type_livre_un |
id_type_livre_deux |
Nb_id_type_livre_deux |
id_type_livre_trois |
Nb_id_type_livre_trois |
2014-02-01 |
1 |
2 |
2 |
0 |
3 |
1 |
2014-02-02 |
1 |
1 |
2 |
0 |
3 |
0 |
2014-02-03 |
1 |
0 |
2 |
1 |
3 |
0 |
Pour faire bref : c'est un tableau qui compte le nombre de type de livre déposé par date. J'ai commencé par coder la requête ci dessous :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Select suividepot.date,
s1.id_type_livre as "id_type_livre_un",
count(s1.id_type_livre) as "Nb_id_type_livre_un",
s2.id_type_livre as "id_type_livre_deux",
count(s2.id_type_livre) as "Nb_id_type_livre_deux"
s3.id_type_livre as "id_type_livre_trois",
count(s3.id_type_livre) as "Nb_id_type_livre_trois"
from suividepot, suividepot as s1, suividepot as s2, suividepot as s3
where s1.id_type_livre=1 AND s2.id_type_livre=2 AND s3.id_type_livre=3
group by suividepot.date |
Mais je me retrouve avec ce type de résultat :
Date |
id_type_livre_un |
Nb_id_type_livre_un |
id_type_livre_deux |
Nb_id_type_livre_deux |
id_type_livre_trois |
Nb_id_type_livre_trois |
2014-06-16 |
1 |
28512 |
2 |
28512 |
3 |
28512 |
2014-06-17 |
1 |
47520 |
2 |
47520 |
3 |
47520 |
2014-06-18 |
1 |
85536 |
2 |
85536 |
3 |
85536 |
2014-06-19 |
1 |
57024 |
2 |
57024 |
3 |
57024 |
2014-06-20 |
1 |
38016 |
2 |
38016 |
3 |
38016 |
2014-06-23 |
1 |
161568 |
2 |
161568 |
3 |
161568 |
2014-06-24 |
1 |
76032 |
2 |
76032 |
3 |
76032 |
2014-06-25 |
1 |
171072 |
2 |
171072 |
3 |
171072 |
Pour indication, la premier ligne devrait avoir cette valeur : Date |
id_type_livre_un |
Nb_id_type_livre_un |
id_type_livre_deux |
Nb_id_type_livre_deux |
id_type_livre_trois |
Nb_id_type_livre_trois |
2014-06-16 |
1 |
0 |
2 |
0 |
3 |
1 |
J'ai essayé divers solution comme, par exemple, l'utilisation de JOIN LEFT mais sans succès...
Avez-vous une idée ?
Merci d'avance