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

 MySQL Discussion :

Requête 2 Tables avec donnée supplémentaire


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Par défaut Requête 2 Tables avec donnée supplémentaire
    J’ai 2 tables :
    Indic_centre
    Id nom
    1 A
    2 B
    3 C

    Indic_form
    Utilisateur Centre
    Bob B
    René A
    J’aimerai faire une requête qui me sort tous les noms de la table Indic_centre avec une indication si le centre appartient à la table B. Je pensais faire un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select nom, IF(si donnée existe dans table indic_form,"red","black") 
    from indic_centre
    Pour me sortir au final :
    A red
    B red
    C black
    Mais je n’arrive pas à mes fins, et vu mon niveau en MySQL, je ne sais pas si ma démarche est bonne et je tourne en rond ??

    Toute aide serait la bienvenue

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Bonjour,

    quel lien ont tes deux tables ? Table Indic_centre colonne nom correspond à la table Indic_form colonne Centre ?

    si c'est le cas une jointure entre ces deux tables est suffisante,

    si tu ne veux que faire ressortir les lignes de la table Indic_centre qui sont "liées" à la table Indic_form tourne toi vers la jointure "INNER JOIN",

    si au contraire tu veux faire ressortir toutes les lignes de la table Indic_centre et si lorsqu'une ligne n'est pas liée à la table Indic_form la colonne qui correspond à ton lien vers la table Indic_form affiche "NULL" alors tourne toi vers les jointures externes.

    PS : Pour afficher black si la jointure externe renvoi null utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT IFNULL(colonneATester, "Si null chaine a afficher") FROM maTable;

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Par défaut
    Les champs indic_form.centre est issu de la table indic_centre.nom

    J'ai fait ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select DISTINCT indic_centre.nom,IFNULL(indic_centre.nom = indic_form.centre,'0') AS value
    FROM indic_centre
    LEFT JOIN indic_form ON indic_centre.nom = indic_form.centre
    Je ne sais si c'est correct, mais le résultat à l'air bon.
    J'ai tous les éléments de la table indic_centre marqués en 0 et ceux qui appartiennent à la table indic_form sont à 1

Discussions similaires

  1. Réponses: 8
    Dernier message: 08/01/2010, 14h53
  2. Réponses: 14
    Dernier message: 05/09/2006, 18h01
  3. Requête 2 tables avec dates
    Par Flam dans le forum Requêtes
    Réponses: 11
    Dernier message: 22/06/2006, 10h42
  4. Réponses: 2
    Dernier message: 11/01/2006, 12h54
  5. Tables avec données temporelles
    Par blins dans le forum Oracle
    Réponses: 12
    Dernier message: 12/12/2005, 10h50

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