Partage
  • Partager sur Facebook
  • Partager sur Twitter

Requête avec jointure

Sujet résolu
    16 juin 2020 à 16:01:06

    Bonjour,

    J'ai un soucis avec ma jointure qui ne m'affiche pas le bon résultat, voici mes tables :

    TAB 1 :

    id_indicateurs | service | * | * |

    ENTREE 1 : 20, "ACHATS" , * , *

    ENTREE 2 : 21, "ACHATS" , * , * 

    ENTREE 3 : 22, "ACHATS" , * , *

    TAB 2 : 

    id_données | id_indicateurs | valeur | * | * |

    ENTREE 1 : 1, 20, 47.3 * *

    Voici ma requête :

    SELECT TDBD.*
    FROM app_tdbcodir_donnees TDBD
    LEFT JOIN app_tdbcodir_indicateurs TDBI
    ON TDBD.id_indicateurs = TDBD.id_indicateurs
    WHERE TDBI.service = 'ACHATS'


    Voici ce que j'obtiens :

    1, 20, 47.3, *, *, *
    1, 20, 47.3, *, *, *
    1, 20, 47.3, *, *, *

    Je l'obtiens en triple car j'ai trois entrée dont le service est "ACHATS" dans ma première table, or je voudrais toutes les entrées dont l'indicateur fait parti du service achat, je devrais donc en avoir qu'une seule dans mon cas.

    Savez-vous où se trouve mon erreur ?

    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      16 juin 2020 à 16:53:25

      Bonjour,

      Martin40 a écrit:

      Savez-vous où se trouve mon erreur ?

      Oui, ta condition de jointure :

      Martin40 a écrit:

      ON TDBD.id_indicateurs = TDBD.id_indicateurs

      TDBD des deux côtés ...

      Après rien ne sert de mettre une jointure gauche (LEFT JOIN) si tu mets une clause WHERE dessus ...

      Soit tu mets la condition dans la jointure, soit tu mets une jointure interne.

      -
      Edité par Benzouye 16 juin 2020 à 17:01:35

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

      Requête avec 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