je cherche une à faire une requête SQL ( sous MySQL 5 ) qui n'a pas l'air bien compliqué à première vue, mais qui me fait souffrir depuis 1 bonne heure ! Tout d'abord, voici ma table :
Code : Tout sélectionner
id, date_attribution, date_utilisation
1, 2011-04-16, NULL
2, 2011-04-17, 2011-04-17
3, 2011-04-17, 2011-04-18
4, 2011-04-18, 2011-04-27
5, 2011-04-18, 2011-04-30
Exemple de résultat pour ce tableau :
Code : Tout sélectionner
Date, Nb_Attr, Nb_Utilisation
2011-04-17, 1, 0
2011-04-17, 2, 1
2011-04-18, 2, 1
2011-04-27, 0, 1
2011-04-30, 0, 1SELECT * FROM
(
SELECT COUNT(Clef_ID) as NB_ATTA, 0 as NB_UTILE, DATE_FORMAT(Date_Attachement,'%Y-%m-%d') as LADATE FROM Clef WHERE Date_Attachement IS NOT NULL GROUP BY LADATE
UNION
SELECT 0 as NB_ATTA, COUNT(Clef_ID) as NB_UTILE, DATE_FORMAT(Date_Utilisation,'%Y-%m-%d') as LADATE FROM Clef WHERE Date_Utilisation IS NOT NULL GROUP BY LADATE
)
as T
GROUP BY T.LADATE
ORDER BY T.LADATE ASC;
Mais bizarrement de cette manière, NB_UTILE est toujours à 0 :/J’espère que vous serez en mesure de m'aider,
Julien
EDIT: Je pourrai aussi faire deux requêtes et faire du traitement avec PHP, mais je ne pense pas que ce soit le meilleur moyen...
Ce que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.