Re: Besoin d'aide sur une requête sur deux tables
Posted by:
Marc G
Date: December 05, 2011 02:44AM
Bonjour,
Merci pour votre réponse, mais j'ai fini par trouver la requête qui me convenait. Des fois qu'elle puisse servir à d'autres :
SELECT
CONCAT_WS(' ',users.prenom,users.nom) AS 'Auteur',
SUM(IF(DATE_FORMAT(`docdate`,'%m')='01',1,0)) as 'Janvier',
SUM(IF(DATE_FORMAT(`docdate`,'%m')='02',1,0)) as 'Fevrier',
SUM(IF(DATE_FORMAT(`docdate`,'%m')='03',1,0)) as 'Mars',
SUM(IF(DATE_FORMAT(`docdate`,'%m')='04',1,0)) as 'Avril',
SUM(IF(DATE_FORMAT(`docdate`,'%m')='05',1,0)) as 'Mai',
SUM(IF(DATE_FORMAT(`docdate`,'%m')='06',1,0)) as 'Juin',
SUM(IF(DATE_FORMAT(`docdate`,'%m')='07',1,0)) as 'Juillet',
SUM(IF(DATE_FORMAT(`docdate`,'%m')='08',1,0)) as 'Aout',
SUM(IF(DATE_FORMAT(`docdate`,'%m')='09',1,0)) as 'Septembre',
SUM(IF(DATE_FORMAT(`docdate`,'%m')='10',1,0)) as 'Octobre',
SUM(IF(DATE_FORMAT(`docdate`,'%m')='11',1,0)) as 'Novembre',
SUM(IF(DATE_FORMAT(`docdate`,'%m')='12',1,0)) as 'Decembre',
SUM(IF(DATE_FORMAT(`docdate`,'%m')!='00',1,0)) as 'Total'
FROM docs
RIGHT JOIN users on users.userid=docs.userid
WHERE YEAR(docdate)='2011' AND docs.userid>0
GROUP BY docs.userid
ORDER BY Total DESC";
(le AND docs.userid>0 est une condition pour mon cas, mais elle n'est pas obligatoire).
Voilà, ce n'est probablement par la requête la plus élégante qui soit, mais au moins elle fait ce que je veux ! :)
Bonne journée,