UNE REQUETE SQL

zaydoo Messages postés 8 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 10 avril 2010 - 15 juil. 2009 à 11:26
babazou38 Messages postés 22 Date d'inscription dimanche 27 janvier 2008 Statut Membre Derniè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.

exemple:
voila l'affichage de ma requête

<col style=\"width: 57pt;\" width=\"76\" /><col style=\"width: 129pt;\" width=\"172\" />----
January, 11, ----
March, 1, ----
April, 1, ----
May, 1, ----
June, 1
.
.
.

je veux l'afficher comme ça:
<col style=\"width: 57pt;\" width=\"76\" /><col style=\"width: 129pt;\" width=\"172\" />----
January, 11, ----
February, 0, ----
March, 1, ----
April, 1, ----
May, 1, ----
June, 1
.
.
.

et merci beaucoup

2 réponses

michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
18 juil. 2009 à 16:43
Bonjour,

Quelle version de FoxPro, s'il te plait?
Quelle est la définition de ta fonction utilisateur MONTHNAME?
quelle est la structure de la table commande?
0
babazou38 Messages postés 22 Date d'inscription dimanche 27 janvier 2008 Statut Membre Derniè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.

Il faut donc préciser ces deux points ...

Cordialement

Jean à Grenoble
0
Rejoignez-nous