IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Condition sur la date


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Points : 16
    Points
    16
    Par défaut Condition sur la date
    Bonjour tout le monde,

    Je travail sous MySQL 4.1 et je souhaiterais exécuter une requete en fonction du mois de l'année :

    En gros si on est en Janvier on exécute :
    INSERT INTO `master hm`.`mensuel` (annee,mois, test_name, taux) (SELECT YEAR( `date` ) , MONTH( `date` ) , test_name, AVG(taux)
    FROM `master hm`.`journalier` WHERE MONTH( `date` ) = MONTH( CURDATE() +11 ) AND YEAR(`date`)=YEAR(CURDATE()-1) GROUP BY test_name);
    Et le reste de l'année :
    INSERT INTO `master hm`.`mensuel` (annee,mois, test_name, taux) (SELECT YEAR( `date` ) , MONTH( `date` ) , test_name, AVG(taux)
    FROM `master hm`.`journalier` WHERE MONTH( `date` ) = MONTH( CURDATE() -1 ) AND YEAR(`date`)=YEAR(CURDATE()) GROUP BY test_name);
    Je ne vois pas comment faire le test avec un IF ou un truc du genre ...
    Merci de votre aide !

    J.Charles

  2. #2
    Membre habitué Avatar de kivan666
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 242
    Points : 177
    Points
    177
    Par défaut
    ben en php c'est facile :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(date(m)=="01")
    	-> requete de janvier
    else
    	-> l'autre requete
    maintenant si tu veux le faire en SQL uniquement ca me semble impossible étant donné que la fonction if n'existe pas (à ma connaissance)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Et oui c'est bien mon probleme ... c'est que j'aurais voulu faire ca que en SQL !
    Si quelqu'un à une idée ...

    J.Charles

  4. #4
    Membre expérimenté
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Points : 1 351
    Points
    1 351

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Déja essayé plein de trucs qui ne passent pas ... J'ai peur que l'utilisation du IF soit trop limitée dans mon cas c'est pourquoi je cherche une alternative, une idée de génie, quelque chose qui puisse m'aider. (Je viens pas poser ma question ici parce que j'ai la flemme de chercher, ca fait un bon moment que je teste plein de possibilités).

    Merci de votre aide quand meme

    J.Charles

  6. #6
    Membre habitué Avatar de kivan666
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 242
    Points : 177
    Points
    177
    Par défaut
    Citation Envoyé par Adjanakis
    eh ben... on en apprend tous les jours... merci !!

  7. #7
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Salut,

    J'ai lu ce qui a été dit précédemment, et je ne vois pas en quoi le IF MySQL est trop limité dans ton cas.

    Ca ne marche pas cela ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    
    INSERT INTO `master hm`.`mensuel` (annee,mois, test_name, taux)
    (SELECT YEAR( `date` ) , MONTH( `date` ) , test_name, AVG(taux)
    FROM `master hm`.`journalier` WHERE MONTH( `date` ) = MONTH( CURDATE() + IF (MONTH(CURDATE()) = 1, 11, -1 )
    AND YEAR(`date`)=YEAR(CURDATE() - IF (MONTH(CURDATE()) = 1, 1, 0 ))
    GROUP BY test_name);

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Génial ca marche pile-poil !

    Mille merci à toi Biglo !
    Et merci aux autres au passage !

    J.Charles

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Condition sur une date
    Par DanaX dans le forum iReport
    Réponses: 12
    Dernier message: 19/08/2008, 11h43
  2. EXCEL SOMME.SI avec condition sur des dates
    Par cfhal dans le forum Excel
    Réponses: 7
    Dernier message: 15/10/2007, 08h21
  3. Problème de condition sur les dates
    Par machipot dans le forum Struts 1
    Réponses: 1
    Dernier message: 24/07/2007, 20h18
  4. Double condition sur une date
    Par Olivier95 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 26/06/2006, 13h34
  5. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo