Page 1 sur 1

requetes mois date -1

Posté : 02 août 2013, 14:19
par Burden
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 !

Re: requetes mois date -1

Posté : 02 août 2013, 15:03
par Mazarini
Peut être que c'est vrai que DATEADD n'existe pas dans mysql. :lol:
Par contre DATE_ADD et ADDDATE...
http://dev.mysql.com/doc/refman/5.0/fr/ ... tions.html

Re: requetes mois date -1

Posté : 02 août 2013, 15:35
par Burden
Effectivement merci ;), du coup j'ai essayé d'exécuter un certain nombres de requêtes en rajoutant cette ligne dans ma requête:

ADDDATE(info15.choix_date.datedem, INTERVAL -2 MONTH)

Je viens de faire plusieurs essais mais rien de probant. La date s'actualise bien mais la requête ne calcul pas sur les mois précédent. J'ai donc essayé de la mixer avec le COUNT mais ça n'a pas l'air de vouloir passer.IDEM en le mettant dans le WHERE
J'ai essayer de triturer ça un peu dans tous les sens mais je n'obtiens pas de résultat convenable..

Re: requetes mois date -1

Posté : 02 août 2013, 15:59
par Mazarini
YEAR(ADDDATE(info15.choix_date.datedem, INTERVAL -2 MONTH)) et MONTH(ADDDATE(info15.choix_date.datedem, INTERVAL -2 MONTH)) ?

En fait, ADDDATE(info15.choix_date.datedem, INTERVAL -2 MONTH) doit remplacer info15.choix_date.datedem

Mais si info15.choix_date.datedem est gérer manuellement, tu peux ajouter des colonnes pour -1 mois, -2 mois...

Re: requetes mois date -1

Posté : 02 août 2013, 16:12
par Burden
super ça fonctionne parfaitement , c'est exactement ce que je voulais.
En tous cas merci beaucoup pour ta réactivité !