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 :

2 left joins en référence à la même colonne + problème d'affichage


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut 2 left joins en référence à la même colonne + problème d'affichage
    Bonjour,

    j'ai un petit souci avec des left join.
    J'ai 2 tables. Une avec des taches et une autres avec des users.
    Ma table des taches a 2 colonnes qui sont reliés à ma table users.
    Dans la table tache j'ai l'id d'un auteur(tache_usr_id) et l'id d' un developpeur assigne(tache_developpeur_assigne) a la tache. Pour avoir le nom de la personne qui a été assigné et le nom de l'auteur je fais 2 jointures différentes. Mais il me relève une erreur.
    Voici mes 2 left join en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $sql .= " from k2prjtache LEFT JOIN k2users ON tache_developpeur_assigne = usrid";
    $sql .= " LEFT JOIN k2users as k2users2 ON tache_usr_id = usrid";
    De plus pour le moment avec un left join j'arrive à afficher le nom du developpeur avec un $r[nom] nom étant la colonne de la table user mais comment vais-je bien pouvoir afficher le 2ème car cela risque d'être aussi un $nom . non?

    Je vous remercie d'avance de toute aide si vous voyez la solution.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Points : 562
    Points
    562
    Par défaut
    Quelle erreur obtiens-tu ?

    Pour éviter les problèmes, nomme explicitement chacune des tables utilisées plusieurs fois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    FROM k2prjtache
    LEFT JOIN k2users as k2users1 ON tache_developpeur_assigne = k2users1.usrid
    LEFT JOIN k2users as k2users2 ON tache_usr_id = k2users2.usrid

  3. #3
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    salut,

    ben j'ai plus d'erreur maintenant dans la requète en renommant proprement comme tu me l'as indiqué. Mais c'est lors de l'affichage en fait que comme les 2 colonnes ont le même lien, elles m'affichent la même chose. Et de plus dans mon affichage il me prend que le nom de prjusers qui est égal a la colonne tache_usr_id de ma table prjtache. Je ne sais pas de ce fait comment afficher le nom de la personne assigne aussi. Et je n'ai pas d'erreur. C'est juste un problème d'affichage.

    comme je l'ai dis plus haut j'ai 2x car il me faut 2 fois un nom:
    Mais en écrivant comme cela c'est normal que j'ai 2x le même nom. Mais je sais pas trop comment résoudre le problème.

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 018
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 018
    Points : 23 710
    Points
    23 710
    Par défaut
    Citation Envoyé par kifouillou Voir le message
    De plus pour le moment avec un left join j'arrive à afficher le nom du developpeur avec un $r[nom] nom étant la colonne de la table user mais comment vais-je bien pouvoir afficher le 2ème car cela risque d'être aussi un $nom . non?
    Tu peux mettre des alias aux colonnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT..., k2users1.nom AS nom_developpeur, ..., k2users2.nom as nom_auteur...
    Et du coup, tu les récupère par $r[nom_developpeur] et $r[nom_auteur]

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    Salut ced,

    yep. C'était tout bête. J'avais pas pensé aux alias.

    Merci à toi et à jeremya pour votre aide.

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

Discussions similaires

  1. LEFT JOIN sur une même table
    Par grinder59 dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/01/2012, 15h30
  2. SELECT, JOIN et sous-requêtes dans une même colonne
    Par Alcorak dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/06/2011, 09h04
  3. 2 LEFT JOIN sur une même table
    Par dakan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/10/2007, 13h51
  4. En-tête + 2 colonnes (problème d'affichage)
    Par Erakis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 13/08/2007, 10h36
  5. [MySQL] 2 LEFT JOIN sur même table
    Par bupocirk dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/07/2007, 16h53

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