Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de jointure

MYSQL

    16 mai 2011 à 11:00:14

    Bonjour,
    J'ai un souci de tri pour mon tableau, j'ai une base de donnée avec une table indicateur qui est lié a une table position qui elle est lié a la table tableau.

    Un tableau peu avoir plusieurs indicateurs dans un ordre donné
    Un indicateur peu avoir plusieurs tableaux

    La tableau de liaison Position contient 3 colonne : idTableau, idIndicateur, noOrdre.

    Je voudrais sélectionner tous les indicateurs d'un tableau ainsi que leur noOrdre. Sauf que quand la liaison n'est pas faites dans le tableau l'indicateur ne se montre pas alors que je voudrais voir cette indicateur avec un noOrdre à null.

    Quelqu'un saurait comment faire cette jointure pour avoir tous les indicateurs ainsi que leur noOrdre même si il n'y a pas la liaison dans la table position ?

    Merci

    • Partager sur Facebook
    • Partager sur Twitter
      16 mai 2011 à 11:54:43

      Salut
      Il faut utiliser LEFT JOIN à la place de INNER JOIN ou JOIN
      • Partager sur Facebook
      • Partager sur Twitter
        16 mai 2011 à 12:38:04

        Merci, déjà essayer mais le problème c'est que mon where me casse cette jointure
        • Partager sur Facebook
        • Partager sur Twitter
          16 mai 2011 à 12:40:57

          C'est que tu l'utilise mal. On peut voir la requete ?
          • Partager sur Facebook
          • Partager sur Twitter
            16 mai 2011 à 12:45:35

            SELECT nom, noOrdre FROM indicateur i LEFT JOIN position p ON i.idIndicateur = p.idIndicateur WHERE idTableau = 25;

            nom noOrdre
            Indicateur 1 2
            Indicateur 2 1
            Indicateur 4 3

            moi je voudrais avoir

            nom noOrdre
            Indicateur 1 2
            Indicateur 2 1
            Indicateur 3 null
            Indicateur 4 3
            • Partager sur Facebook
            • Partager sur Twitter
              16 mai 2011 à 14:38:30

              idTableau doit surement appartenir à ta table droite, tu dois du coup l'ajouter dans les conditions de jointure et pas dans un where...

              pour faire simple remplace le WHERE par un AND

              Tracker.
              • Partager sur Facebook
              • Partager sur Twitter

              Problème de jointure

              × 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