zaydoo
Messages postés8Date d'inscriptionmercredi 7 janvier 2009StatutMembreDernière intervention10 avril 2010
-
15 juil. 2009 à 11:26
babazou38
Messages postés22Date d'inscriptiondimanche 27 janvier 2008StatutMembreDernière intervention 1 décembre 2010
-
29 juil. 2009 à 20:24
BONJOUR LES AMIS
je veux faire une requête qui affiche le nombre de commande par mois trié en ordre croissant; j'ai fais cette requête:
SELECT MONTHNAME(date_commande) AS 'Mois', Count(*) AS 'Nombre de commande'
FROM commande
GROUP BY MONTHNAME(date_commande)
ORDER BY MONTH(date_commande)
ça marche mais je veux que les mois quels n'existent pas s'affichent et le nombre de commande sera afficher 0.
babazou38
Messages postés22Date d'inscriptiondimanche 27 janvier 2008StatutMembreDernière intervention 1 décembre 2010 29 juil. 2009 à 20:24
Il faut créer une deuxième table contenant tous les mois de l'année et faire une jointure avec la table actuelle.
Quelque chose comme :
Create Table liste_mois (mois C(9))
INSERT INTO liste_mois VALUES( "janvier")
INSERT INTO liste_mois VALUES( "février")
...
...
SELECT c.mois , Count(*) AS 'Nombre de commande'
FROM liste_mois a LEFT OUTER JOIN commande c ON a.mois = Month(c.datcommande) ;
GROUP BY 1 ORDER BY 1 ...
Mais cette requête ne fonctionne qu'avec VFP9 et doit être ajustée en fonction de la structure de la table commande.