Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ma requête SQL me renvois deux fois la même ligne

Sujet résolu
    23 novembre 2011 à 23:24:54

    Bonjour les zéro,

    J'ai une requête SQL qui dans le cas A renvois mes lignes correctement et dans le cas B il duplique la première.

    Le problème, ne s'étant jamais posé auparavant je ne comprend pas d'ou cela pourrai venir.

    SELECT * 
    FROM  `fff__portail_topic_post` 
    LEFT JOIN  `fff__portail_sujet_topic` AS  `topic` ON  `topic`.`topic_id` =  `fff__portail_topic_post`.`topic_id` 
    LEFT JOIN  `fff__portail_forum_sujet` AS  `forum` ON  `forum`.`forum_id` =  `topic`.`forum_id` 
    LEFT JOIN  `fff__member` AS  `member` ON  `member`.`idmember` =  `fff__portail_topic_post`.`post_createur` 
    LEFT JOIN  `fff__client` AS  `infomember` ON  `infomember`.`idmember` =  `member`.`idmember` 
    LEFT JOIN  `fff__portail_topic_view` AS  `tv` ON  `tv`.`tv_topic_id` =  `topic`.`topic_id` 
    AND  `tv`.`tv_id` =9
    WHERE  `fff__portail_topic_post`.`topic_id` =70
    


    J'aimerai comprendre se qu'il est arrivé.
    Aucun champ anormal des les tables, le post id (240) est bien tout seul


    Je vais corriger avec un tour de passe passe mais j'aimerai savoir se qui se passe
    • Partager sur Facebook
    • Partager sur Twitter
    Je développe des choses ridicules, regarde c'est toujours de l'open-source https://github.com/crystal-web
      24 novembre 2011 à 7:24:28

      Cas A, cas B ???

      Tu parles de l'id 240 mais c'est l'id 70 ici ??
      • Partager sur Facebook
      • Partager sur Twitter
        24 novembre 2011 à 9:42:19

        En faisant des left join, il est possible qu'une même ligne soit retourné 2 fois. En exécutant ta requête, tu devrais des différences dans les 2 lignes...
        • Partager sur Facebook
        • Partager sur Twitter
        Ca ne marche pas, ça ne veut rien dire ! Qu'est ce qui ne marche pas ?
          25 novembre 2011 à 1:56:39

          Citation : Taguan

          Cas A, cas B ???

          Tu parles de l'id 240 mais c'est l'id 70 ici ??



          Id 70 représente le topic, 240 est l'id du post

          Citation : rencoco

          En faisant des left join, il est possible qu'une même ligne soit retourné 2 fois. En exécutant ta requête, tu devrais des différences dans les 2 lignes...



          J'y ai pensé, mais les deux lignes, sont exactement identique
          • Partager sur Facebook
          • Partager sur Twitter
          Je développe des choses ridicules, regarde c'est toujours de l'open-source https://github.com/crystal-web
            25 novembre 2011 à 8:16:05

            Dans ce cas, il suffit d'ajouter un DISTINCT juste parès SELECT
            • Partager sur Facebook
            • Partager sur Twitter
              25 novembre 2011 à 13:41:52

              Merci
              • Partager sur Facebook
              • Partager sur Twitter
              Je développe des choses ridicules, regarde c'est toujours de l'open-source https://github.com/crystal-web

              Ma requête SQL me renvois deux fois la même ligne

              × 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