MySQL Forums
Forum List  »  French

Besoin d'aide sur une requête sur deux tables
Posted by: Marc G
Date: November 25, 2011 08:16AM

Bonjour à tous,

Je m'arrache les cheveux pour trouver la solution à mon petit problème, et c'est probablement faute de connaissances suffisantes...

J'ai deux tables : "users" et "docs"

La table "users" a trois champs : "userid", "prenom", "nom"
La table "docs" a aussi trois champs : "docid", "userid", "docdate" (docdate contient une date MySQL au format AAAA-MM-JJ).

Evidemment, le champ docs.userid fait référence à users.userid.

Voici le contenu de la table users :

<code>
userid | prenom | nom
1 | Jean | Valjean
2 | Victor | Hugo
</code>

La table docs contient les documents écrit à telle date, par tel user :

<code>
docid | userid | docdate
1 | 1 | 2011-01-10
2 | 1 | 2011-01-15
3 | 2 | 2011-02-01
4 | 1 | 2011-02-13
...
100 | 1 | 2011-11-25
</code>

L'idée est de trouver le nombre de documents qu'un utilisateur a écrit, mois par mois. Le résultat que j'aimerai obtenir ressemble à ce tableau

<code>
User | Janvier | Février | ... | Décembre |
Jean Valjean | 2 | 3 | ... | 1 |
Victor Hugo | 0 | 1 | ... | 4 |
</code>

Pour la concaténation prénom nom, c'est relativement simple, j'y arrive avec un

<code>
SELECT CONCAT_WS(' ',users.prenom,users.nom)
</code>

Je suis capable de faire la somme des documents écrits par tel user sur une période donnée, en continuant la requête ci-dessus avec

<code>
, COUNT(*) FROM docs WHERE docdate>='2011-01-01' AND docdate<'2011-01-02'
</code>

Ce qui me donne bien la somme des documents écrits pour la période du 1er janvier 2011 (inclus) au 1er février 2011 (exclu).

Comme vous l'avez compris, c'est déjà un premier pas mais hélas cela ne me permet pas d'obtenir le résultat escompté (à savoir le tableau avec la somme des écrits de chaque user mois par mois), d'autant plus qu'il faudrait que la requête fasse le tri des données pour une année précise (par exemple, 2011, sachant que la table documents va contenir des documents écrits en 2009, 2010...)

Auriez-vous une idée ou une piste à me suggérer ? Merci !

Options: ReplyQuote


Subject
Views
Written By
Posted
Besoin d'aide sur une requête sur deux tables
3833
November 25, 2011 08:16AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.