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 :

jointure, mais avec un critère (?) sur la table jointe


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 17
    Points : 19
    Points
    19
    Par défaut jointure, mais avec un critère (?) sur la table jointe
    Bonjour,
    je galère sur une requête qui au départ me semblait simple... j'ai une table client (avec leur id, nom, date de fin d'abonnement...etc...) et une table de leurs rdv (ils peuvent en avoir plusieur). je voudrais extraire les clients ayant fini leur abonnement avec leur prochain rdv.
    c'est sur ce point précis que je patine... je veux uniquement leur prochain rdv alors qu'ils peuvent en avoir plusieurs dans le futur. mais je veux aussi les voir même si ils n'ont pas de rdv...
    j'ai déjà fait ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select s.id, s.nom, r.rdv
    from client c
    LEFT OUTER JOIN  rdv r ON  r.id_client = s.id 
    where
    AND DATE_FORMAT( s.fin_abo, '%Y-%m-%d' ) <= '2009-05-25'
    mais je pense que cela ne va pas être effficace si ils ont plusieurs rdv à venir...parceque bien sur je ne veux les voir d'une fois.

    merci de votre aide...

    au fait, j'ai mysql 5.0.45

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Quand tu parles d'éventuel prochain rendez-vous, c'est par rapport à CURDATE() ?
    D'autre part tu ne veux que les clients ayant fini leur abonnement, mais tous les clients ayant fini leur abonnement, RDV à venir ou pas, n'est-ce pas ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 17
    Points : 19
    Points
    19
    Par défaut oui exactement
    c'est exactement cela.
    curdate et même les clients sans rdv.

  4. #4
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Encore une question, décidément je ne me décide pas :
    d'où sort le préfixe s. ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 17
    Points : 19
    Points
    19
    Par défaut c'est une erreur...
    le préfixe devrait être c

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT c.id, c.nom, r.rdv
    FROM client c
    LEFT OUTER JOIN  rdv r ON  r.id_client = s.id 
    WHERE
    AND DATE_FORMAT( s.fin_abo, '%Y-%m-%d' ) <= '2009-05-25'
    désolé

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/07/2011, 11h29
  2. Select avec 2 critères sur des tables reliées
    Par beyo dans le forum Requêtes
    Réponses: 4
    Dernier message: 07/12/2010, 15h03
  3. Filtre avec critère sur autre table
    Par dvdavid2009 dans le forum Débuter
    Réponses: 4
    Dernier message: 18/08/2009, 13h48
  4. Requette avec plusieurs critères sur plusieurs tables
    Par kha_yassine dans le forum Requêtes
    Réponses: 3
    Dernier message: 11/04/2008, 22h15
  5. Réponses: 3
    Dernier message: 13/12/2006, 18h05

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