Accueil > Forum > > > > Requetes pour rapports périodiques
Requetes pour rapports périodiques
vendredi 11 septembre 2009 à 02:02:57 |
Requetes pour rapports périodiques

marcmoonlight
|
Bonsoir,
Je cherche à construire des rapports périodiques (somme des ventes par mois par exemple) en une seule requête, sans sauter de période.
Un simple SELECT comme suit par exemple a pour lacune de sauter un mois s'il n'y a pas de vente :
SELECT DATE_FORMAT(date_facture, '%Y-%m') AS period, SUM(total) FROM factures GROUP BY DATE_FORMAT(date_facture, '%Y-%m) ORDER BY DATE_FORMAT(date_facture, '%Y-%m);
Alors je pense utiliser par exemple un LEFT JOIN qui me permettrai de lister d'une part les périodes, et d'autre part y joindre les résultats de la "vraie" requête. Il me reste donc à lister correctement les périodes. Mais comment construire le contenu d'une table dans une requete ?
Existe-t-il une notation du genre : SELECT period FROM LIST('2009-01', '2009-02', '2009-03') ?
Si oui, je pourrai écrire une requête dans le genre :
SELECT period FROM LIST('2009-01', '2009-02', '2009-03') AS p
LEFT JOIN SELECT DATE_FORMAT(date_facture, '%Y-%m') AS period, SUM(total) FROM factures AS f GROUP BY DATE_FORMAT(date_facture, '%Y-%m) ORDER BY DATE_FORMAT(date_facture, '%Y-%m) ON p.period=f.period
Ou bien une autre méthode est-elle plus courante ?
Merci beaucoup !
Marc
|
|
vendredi 11 septembre 2009 à 22:52:03 |
Re : Requetes pour rapports périodiques

marcmoonlight
|
Bon ! J'ai trouvé ma réponse : une première série de UNION de SELECT des périodes qui m'intéressent, puis un LEFT JOIN pour chaque valeur à mesurer. Et mon script PHP pourra afficher les résultats de manière "passive" :
SELECT p.period, IFNULL( t.turnover, 0 ) AS turnover
FROM (
SELECT "2009-01" AS period
UNION SELECT "2009-03" AS period
UNION SELECT "2009-04" AS period
UNION SELECT "2009-05" AS period
UNION SELECT "2009-06" AS period
UNION SELECT "2009-07" AS period
UNION SELECT "2009-08" AS period
UNION SELECT "2009-09" AS period
) AS p
LEFT JOIN (
SELECT DATE_FORMAT( date_bill, "%Y-%m" ) AS period, SUM( total_amount_ht ) AS turnover
FROM customer_bills
WHERE _id_customer_account =3238
GROUP BY DATE_FORMAT( date_bill, "%Y-%m" )
) AS t ON p.period = t.period
Reste maintenant à créer une procédure stockée pour récupérer ma liste de périodes (elle prendrait en paramètres le zoom (= le pattern du DATE_FORMAT) et la plage de dates (from et until)). Quelqu'un aurait-il une suggestion ?
Merci !
Marc
|
|
Cette discussion est classée dans : date, format, select, facture, period
Répondre à ce message
Sujets en rapport avec ce message
Supprimer une date antérieure à une autre [ par billou_13 ]
Bonjour, Alors, voila je dois faire une requête SQL permettant de supprimer toutes les informations d'une table où les dates seraient antérieures à 6
Date format... [ par elpens ]
Bonjour,j'ai quelques procedures stockees qui utilisent des dates. Mon problème (si on peux appeler cela un problème), est que je ne sais pas quelle e
Déclaration de variable avec format de date [ par Creat ]
Bonjour, J'aimerais savoir s'il est possible de déclarer une variable date avec un format bien précis. Je m'explique, mon format de date est aaaa-M
Select sans doublon avec date la plus recente [ par ironnyc ]
Bonjour a tous!je cherche a faire une requete Select avec une base MySql sur la table suivante: #Table "historique"+-----+-------------+------------+|
requete avec dernière date [ par ahcorad ]
Bonjour,Je boss sur une appli Access et je souhaiterais obtenir le dernier résultat de chaque zone.Je bloque avec la fonction last pour l'imbriquer av
problème de requette [ par beny100 ]
bonjour,j'ai un problème avec ma requette. voiçi le code:select * from Alarme_active where date_debut >='31/01/2007'and date_debut='01/02/2007'elle ne
Problème de date [ par gregorybts ]
Bonjour,JE cherche à ajouter une contrainte sur cette requête, j'aimerai n'obtenir que les factures datant de plus d'un mois.Le problème c'est que déj
probleme somme cumulée [ par salimdz2004 ]
Bonjour Je veux faire une somme cumulée dans une requête Je veux faire la sommé du mon
comparer deux date dans une requete select simple [ par isac83 ]
voila, j'ai voulu selectionner des produit dans la table produit qui on: date_debut_solde et date_fin_solde respectivement avant est aprés undate pres
un "select" un peu dur [ par fatatra ]
Bonjour a tous;J'ais une base de données qui contient des evenements a un champ date yyyy-mm-aa et un champ heure hh:mm:ss.A un moment donnée je voudr
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : ORACLE FORMSRE : ORACLE FORMS par csmahicham
Cliquez pour lire la suite par csmahicham
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|