Bonjour;
Alors voila, je travail sur une base de donnée MYSQL, et sur un projet d'automatisation des données d'un tableau de bord grâce à l'outil BIRT REPORT. A préalable, j'utilise NAVICAT pour vérifier le bon fonctionnement de mes requêtes.
Je travail actuellement sur le tableau ci-dessous:
Screen_mois_date.JPG
J'ai bien réussi a exécuter mes requêtes sql pour le mois de mars.
Je cherche une fonction ou une synthaxe qui me permettrait d'afficher les mois précédents le mois actuel ( du style: month -1)
c'est à dire dans mon cas afficher les mois de janvier et février juste en complétant les requêtes que j'ai déjà utilisé.
par exemple voici la requête que j'ai utilisé pour trouver 1733
SELECT COUNT(`info15`.`dossier`.NUMDOSS)
FROM `info15`.`dossier`, `info15`.`choix_date`
WHERE (YEAR(`info15`.`dossier`.DATEDOSS) = YEAR(`info15`.`choix_date`.DATEDEM)
AND MONTH(`info15`.`dossier`.DATEDOSS) = MONTH(`info15`.`choix_date`.DATEDEM))
AND `info15`.`dossier`.`numuti` <> 778
Dans ma requêtes, le table choix_date me permet de choisir la date sur laquelle je veux travailler. Travaillant sur un projet d'automatisation, il est nécessaire que lorsque l'utilisateur lie la base de donné avec l'outil BIRT, que le résultat s'affiche automatiquement et qu'il n'est pas par exemple besoin d'aller modifier à la main. Comme par exemple sur un ligne dans ce style:
where ( year(demande.datedem)='2013' and month(demande.datedem)='02') --> (pour afficher le mois de février)
Je cherche une fonction qui me permettrais de compléter mon Where actuel ( WHERE (YEAR(`info15`.`dossier`.DATEDOSS) = YEAR(`info15`.`choix_date`.DATEDEM) AND MONTH(`info15`.`dossier`.DATEDOSS) MONTH(`info15`.`choix_date`.DATEDEM))) pour afficher les résultats du mois précédent.
J'ai essayé en rajoutant les lignes ci-dessous:
DATEADD(month,-1,getdate()) --> Navicat me dit que la fonction DATEADD n'existe pas.
(TO_DAYS(choix_date.datedem)>TO_DAYS( Now()) - '60' --> Avec cette ligne la mon résultat reste inchangé , comme-ci cette ligne n'avais aucune influence sur la requetes.
Si quelqu'un à une idée je suis preneur.
Merci d'avance !