Partage
  • Partager sur Facebook
  • Partager sur Twitter

SQL JOIN deux tables pour deux affichage

Sujet résolu
    3 mars 2021 à 15:19:13

    Bonjour,

    je bloque sur un sujet, et j'aimerai de l'aide svp.

    j'ai deux tables une qui est "rencontres" avec trois colonne : "id", "domicile" et "exterieur" les champs de ces deux dernière colonnes sont rempli par un id qui correspondent aux id de la table "equipes" celle-ci a deux colonne : "id" et "nom".

    exemple :

    Table rencontre

    id       domicile        exterieur

    1             21              22

    Table equipes

    id       nom

    21      CAEN

    22      LE HAVRE

    je cherche a joindre le tout pour pouvoir afficher le nom des équipes

    du genre :

     echo($aff['nom_dom'].' - '.$aff['nom_ext']);

    voici mon bout de code qui ne fonctionne pas mais qui vous donnera une idée de se que je veux faire.

    $req = $bdd->query('SELECT * FROM rencontres
    				INNER JOIN equipes
    				  ON rencontres.domicile = equipes.id
    				INNER JOIN equipes
    				  ON rencontres.exterieur = equipes.id
    			');


    je supose qu'il me manque un AS et surement autre chose.

    merci.

    • Partager sur Facebook
    • Partager sur Twitter
      3 mars 2021 à 15:52:07

      Salut

      Sans exemple de comment tu souhaites afficher, je trouve difficile de t'aider… Et si tu as des erreurs, merci de nous les mentionner.

      • Partager sur Facebook
      • Partager sur Twitter
        3 mars 2021 à 20:29:19

        Merci,

        je souhaite afficher le nom des deux équipes.

        j'affiche la colonne domicile de la table rencontres soit "21" et je veux qu'il m'affiche le nom correspondant.

        avec un seul nom d’équipe je sait faire :

        SELECT * FROM rencontres
        INNER JOIN equipes
        ON equipes.id = rencontres.domicile

        la okay, quand je demande d'afficher

        $req['equipes.domicile']

         Mais comment faire pour le faire avec l'autre équipe ?





        • Partager sur Facebook
        • Partager sur Twitter
          4 mars 2021 à 8:18:48

          Il faut effectivement utiliser des alias sur les noms de tables jointes. Attention, cela implique que ces alias doivent être utilisés quasiment partout dans la requête ensuite à la place du nom de la table.

          D'autre part, si tu n'as besoin que des noms des équipes, il vaudrait mieux du point de vue des performances spécifier que tu souhaites uniquement les noms des équipes et non toutes les colonnes de toutes les tables utilisées (*).

          Pour ajouter un alias sur une table (ou une colonne), on utilise le mot clé AS suivi du "nouveau" nom.

          -
          Edité par Ymox 4 mars 2021 à 8:19:40

          • Partager sur Facebook
          • Partager sur Twitter

          SQL JOIN deux tables pour deux affichage

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown