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 :

Difficulté à insérer une condition


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Points : 26
    Points
    26
    Par défaut Difficulté à insérer une condition
    Bonjour

    Jusqu'ici, je traitais mes conditions en php, mais je dois aider un ami à mettre sa condition dans une requête mysql.
    Le but est de chercher des bénéficiaires (du secours pop) qui ne sont pas revenus depuis une certaine date pour les relancer dans le processus d'aide à l'emploi. C'est un petit outil interne d'une antenne emploi du dit secours pop.

    Au début, je me suis dit qu'il suffisait de faire une requête en excluant les résultats pour des dates données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT beneficiaire.NomBeneficiaire, 
    	beneficiaire.PrenomBeneficiaire, 
    	fichesuivis.DateFiche, 
    	email.Email, 
    	telephone.NumeroTelephone, 
    	beneficiaire.IdBeneficiaire
    FROM beneficiaire INNER JOIN fichesuivis ON beneficiaire.IdBeneficiaire = fichesuivis.IdBeneficiaire
    	 INNER JOIN email ON beneficiaire.IdBeneficiaire = email.IdBeneficiaire
    	 INNER JOIN telephone ON beneficiaire.IdBeneficiaire = telephone.IdBeneficiaire
    WHERE (fichesuivis.DateFiche < '2015-06-01') AND NOT (fichesuivis.DateFiche > '2015-06-01')
    Mais cela ne donne pas les bons résultats puisque afficher ceux qui sont venus avant le premier juin sans afficher s'il sont venus après ne veut pas dire qu'il ne sont pas venu. Il faut donc mettre une condition. J'ai cherché sur IF, sur IFNULL, sur CASE - WHEN, mais je n'arrive pas à faire une requête qui fonctionne... je vous épargne les différentes tentative de code que j'ai faite.
    Il faut donc dans la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT beneficiaire.NomBeneficiaire, 
    	beneficiaire.PrenomBeneficiaire, 
    	fichesuivis.DateFiche, 
    	email.Email, 
    	telephone.NumeroTelephone, 
    	beneficiaire.IdBeneficiaire
    FROM beneficiaire INNER JOIN fichesuivis ON beneficiaire.IdBeneficiaire = fichesuivis.IdBeneficiaire
    	 INNER JOIN email ON beneficiaire.IdBeneficiaire = email.IdBeneficiaire
    	 INNER JOIN telephone ON beneficiaire.IdBeneficiaire = telephone.IdBeneficiaire
    WHERE (fichesuivis.DateFiche < '2015-06-01');
    Que j'insère la condition (fichesuivis.DateFiche > '2015-06-01') n'a pas de résultat

    SI vous pouviez m'aiguiller ce serait super. Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 134
    Points : 38 557
    Points
    38 557
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par den66 Voir le message
    Le but est de chercher des bénéficiaires (du secours pop) qui ne sont pas revenus depuis une certaine date pour les relancer dans le processus d'aide à l'emploi.
    On peut reformuler votre besoin ainsi :
    "rechercher les bénéficiaires pour lesquels aucune visite n'est enregistrées depuis le ..."
    Ce qui en SQL correspond à une requete exists, comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    SELECT beneficiaire.NomBeneficiaire, 
           beneficiaire.PrenomBeneficiaire, 
           fichesuivis.DateFiche, 
           email.Email, 
           telephone.NumeroTelephone, 
           beneficiaire.IdBeneficiaire
    FROM beneficiaire 
    INNER JOIN fichesuivis 
       ON beneficiaire.IdBeneficiaire = fichesuivis.IdBeneficiaire
    INNER JOIN email 
       ON beneficiaire.IdBeneficiaire = email.IdBeneficiaire
    INNER JOIN telephone 
       ON beneficiaire.IdBeneficiaire = telephone.IdBeneficiaire
    WHERE Not exists
         (select 1 
          from fichesuivis subq
          where subq.IdBeneficiaire = beneficiaire.IdBeneficiaire 
            and subq.DateFiche > madate)
    Citation Envoyé par den66 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE (fichesuivis.DateFiche < '2015-06-01') AND NOT (fichesuivis.DateFiche > '2015-06-01')
    Si la date est < au 2015-06-01 elle ne peut évidemment pas être supérieure au 2015-06-01

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Super,
    ça marche nickel. Je vais essayer de prendre le temps d'étudier cela un peu plus sérieusement. En tout cas, merci pour lui, je lui communique le résultat tout de suite.

    Encore merci !

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

Discussions similaires

  1. besoin d'aide pour insérer une condition
    Par wholehog2 dans le forum XSL/XSLT/XPATH
    Réponses: 17
    Dernier message: 26/09/2014, 16h38
  2. Insérer une condition pour des boutons radio
    Par Liloo14 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/07/2013, 23h20
  3. Redirection .htaccess : difficulté sur une condition
    Par Invité(e) dans le forum Apache
    Réponses: 12
    Dernier message: 25/11/2010, 13h53
  4. [SQL]insérer une condition IF dans une requete
    Par freija dans le forum Langage SQL
    Réponses: 1
    Dernier message: 01/09/2006, 20h08
  5. Peut on insérer une condition dans une requête ?
    Par MITCH31 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 22/09/2005, 18h26

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