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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager