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 sur jointure simple


Sujet :

MySQL

  1. #1
    Membre régulier Avatar de skulled
    Inscrit en
    Décembre 2006
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 120
    Points : 120
    Points
    120
    Par défaut Requête sur jointure simple
    Bonjour,

    Je bloque actuellement sur une requête qui me semblait simple.
    Deux tables :
    user(id, name);
    banned_list(id, id_User_Banned, id_Admin);

    Je souhaiterais faire une requête qui m'affiche :

    Name Admin || Name User banned


    Merci

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    C'est effectivement simple : il suffit de deux jointures.
    Qu'as-tu essayé comme requête ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre régulier Avatar de skulled
    Inscrit en
    Décembre 2006
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 120
    Points : 120
    Points
    120
    Par défaut
    J'ai finalement tester avec une double jointure comme tu me l'as préconisé en dupliquant ma table des users ce qui me donne :

    user(id, name);
    banned_list(id, id_User_Banned, id_Admin);

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT u.name as userbanned, a.name as admin, b.id 
    FROM user u, user a, banned_list b 
    WHERE u.ID = b.id_User_Banned 
      AND a.ID = b.id_Admin;
    La requête fonctionne mais je ne pense pas que ça soit la requête optimal dans mon cas.

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    En dehors du fait que tu écris les jointures avec la syntaxe obsolète depuis 20 ans, c'est ça.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT u.name AS userbanned, a.name AS admin, b.id 
    FROM banned_list b,
    INNER JOIN user u ON u.ID = b.id_User_Banned
    INNER JOIN user a ON a.ID = b.id_Admin
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

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

Discussions similaires

  1. Ordre des lignes sur jointure simple
    Par jdar dans le forum SQL
    Réponses: 4
    Dernier message: 06/01/2011, 15h12
  2. Réponses: 2
    Dernier message: 12/01/2008, 14h57
  3. Requête SQL : Jointure sur 3 tables - Bd Access 1997 & Delphi 7
    Par Didier100 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/12/2007, 09h57
  4. [MySQL] requête avec jointure sur la même table
    Par gwena54 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 08/05/2007, 11h22
  5. [ODBC] Pb de requète avec jointure sur 2 bases
    Par Invité dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/12/2006, 16h46

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