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

Langage SQL Discussion :

Inner join - 1 association sur la même entité


Sujet :

Langage SQL

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 22
    Points : 25
    Points
    25
    Par défaut Inner join - 1 association sur la même entité
    Bonjour à tous,

    J'ai un petit problème avec les inner join

    J'aimerais votre aide pour la créaction d'une requête SQL permettant d'aficher une connexion comportant 2 equipements avec leurs descriptifs:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    SELECT * 
    FROM `connexion` 
    INNER JOIN equipement_reseau ON connexion.ID_EQUIP = equipement_reseau.ID_EQUIP
    INNER JOIN equipement_reseau ON connexion.ID2_EQUIP = equipement_reseau.ID_EQUIP
    LIMIT 0 , 30 
    erreur
     
    SELECT * 
    FROM `connexion` 
    INNER JOIN equipement_reseau ON connexion.ID_EQUIP = equipement_reseau.ID_EQUIP
    LIMIT 0 , 30
    marche affiche connexion et equipement reseau 1 mais pas le 2
     
    SELECT * 
    FROM `connexion` 
    INNER JOIN equipement_reseau ON connexion.ID_EQUIP = equipement_reseau.ID_EQUIP
    AND connexion.ID2_EQUIP = equipement_reseau.ID_EQUIP
    LIMIT 0 , 30
    marche mais affiche rien
     
    SELECT *
    FROM equipement_reseau
    INNER JOIN connexion ON  equipement_reseau.ID_EQUIP = connexion.ID_EQUIP
    AND equipement_reseau.ID_EQUIP = connexion.ID2_EQUIP 
    LIMIT 0 , 30
    marche mais affiche rien
     
    SELECT HOSTNAME_EQUIP
    FROM equipement_reseau
    INNER JOIN connexion ON equipement_reseau.ID_EQUIP = connexion.ID_EQUIP
    AND equipement_reseau.ID_EQUIP = connexion.ID2_EQUIP
    LIMIT 0 , 30
    marche mais affiche rien
     
    SELECT * 
    FROM `connexion` 
    INNER JOIN equipement_reseau ON connexion.ID_EQUIP = equipement_reseau.ID_EQUIP
    INNER JOIN equipement_reseau2 ON connexion.ID2_EQUIP = equipement_reseau.ID_EQUIP
    LIMIT 0 , 30 
     
    MySQL a répondu: 
     
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2 ON connexion.ID2_EQUIP = equipement_reseau.ID_EQUIP
    LIMIT 0 , 30' at line 4
    C'est un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT ID_EQUIP, ID2_EQUIP, DATE_CONNEXION, HOSTNAME_EQUIP S1, HOSTNAME_EQUIP S2
    FROM `connexion` 
    INNER JOIN equipement_reseau S1 ON connexion.ID_EQUIP = equipement_reseau.ID_EQUIP
    INNER JOIN equipement_reseau S2 ON connexion.ID2_EQUIP = equipement_reseau.ID_EQUIP
    LIMIT 0 , 30
    Images attachées Images attachées  

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 879
    Points : 53 057
    Points
    53 057
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT ID_EQUIP, ID2_EQUIP, DATE_CONNEXION, HOSTNAME_EQUIP S1, HOSTNAME_EQUIP S2
    FROM connexion C
    INNER JOIN equipement_reseau S1 ON C.ID_EQUIP = S1.ID_EQUIP
    INNER JOIN equipement_reseau S2 ON C.ID2_EQUIP = S2.ID_EQUIP
    LIMIT 0 , 30
    A +

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 22
    Points : 25
    Points
    25
    Par défaut
    Merci Beaucoup

    pour cette réponse!

    Cette solution m'a aussi été apportée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * 
    FROM `connexion` 
    INNER JOIN equipement_reseau ON connexion.ID_EQUIP = equipement_reseau.ID_EQUIP
    INNER JOIN equipement_reseau equipement_reseau2 ON connexion.ID2_EQUIP = equipement_reseau2.ID_EQUIP
    LIMIT 0 , 30

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

Discussions similaires

  1. [MySQL-5.5] Syntaxe INNER JOIN sur même table
    Par salent9 dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/06/2014, 08h49
  2. Deux inner join sur une même table
    Par Pachina75 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/06/2014, 14h54
  3. [2.x] [Form] Plusieurs formulaires sur une même entité
    Par flutz dans le forum Symfony
    Réponses: 1
    Dernier message: 15/09/2012, 23h24
  4. Réponses: 3
    Dernier message: 12/04/2008, 20h24
  5. 3 Inner Join sur la même table
    Par Zolex dans le forum Requêtes
    Réponses: 6
    Dernier message: 23/05/2007, 12h32

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