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 :

Requete avec jointure complexe


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 13
    Par défaut Requete avec jointure complexe
    Bonjour,

    Je suis entrain de développer une application, et je me retrouve face a un problème assez complexe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select v.nom,v.etat,v.ip,f.nom,p.nom,c.nom,d.nom,co.desc,d.vc,v.id 
    from vms v INNER JOIN folders f ON v.folder = f.id 
    INNER JOIN datacenters d ON f.datacenter = d.id 
    INNER JOIN clusters c ON d.id=c.datacenter 
    INNER JOIN pools p ON c.id = p.cluster 
    INNER JOIN vms v ON p.id = v.pool 
    LEFT OUTER JOIN commentaires co ON v.id  = co.idEn 
    and co.type='6'

    C'est requête est fausse car elle contient 2 fois la table vms. En effet, la table vms a une jointure avec la table folders, la table pools. Ces deux dernières sont jointes (indirectement dans le cas de pools) à la table datacenters. Comme puis-je réaliser ce type de jointure ?

    Merci d'avance

  2. #2
    Membre chevronné Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Par défaut
    Il ne suffit pas de changer l'alias de ta deuxième table vms ?

  3. #3
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 13
    Par défaut
    J'ai essayé votre solution, mais hélas, ça ne fonctionne pas : il y a énormément de duplication de données. Je continu à chercher de mon coté

  4. #4
    Membre chevronné Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Par défaut
    Qu'est-ce qui est faux le résultat ou bien la requête qui ne s'exécute pas correctement. Une piste peut-être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT v.nom,v.etat,v.ip,f.nom,p.nom,c.nom,d.nom,co.DESC,d.vc,v.id 
    FROM vms v INNER JOIN folders f ON v.folder = f.id 
    INNER JOIN datacenters d ON f.datacenter = d.id 
    INNER JOIN clusters c ON d.id=c.datacenter 
    INNER JOIN pools p ON c.id = p.cluster 
    LEFT OUTER JOIN commentaires co ON v.id  = co.idEn AND co.type='6'
    WHERE p.id = v.pool 

  5. #5
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 13
    Par défaut
    Merci de votre réponse, j'ai essayé, changé quelque truc est cela a fonctionner.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/02/2007, 14h46
  2. [ADO] Requete avec jointure
    Par okparanoid dans le forum Bases de données
    Réponses: 6
    Dernier message: 08/11/2006, 18h05
  3. recherche aide pour requete avec jointure
    Par nebil dans le forum Requêtes
    Réponses: 5
    Dernier message: 21/08/2006, 18h03
  4. [MySQL] Erreur dans une requête avec jointures
    Par bobic dans le forum Langage SQL
    Réponses: 17
    Dernier message: 03/08/2006, 14h04
  5. requete avec jointure & group by
    Par de LANFRANCHI dans le forum Langage SQL
    Réponses: 9
    Dernier message: 27/07/2004, 15h31

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