5 Replies Latest reply: Apr 19, 2013 8:27 AM by Jacky GAUD RSS

    pb left join entre 3 tables

    Jacky GAUD

      bonjour,

      je reposte mon message car j'ai l'impression que le 1er n'est pas passé.

      je voudrais lié 3 tables avec un left join mais ça ne fait pas ce que je veux. La laison entre les 2 premères tables doit se faire en utilisant 2 champs. En utilisant le 1er pas de soucis mais lorsque je rajoute le 2ème les liaisons ne se font plus correctement. Les 2 champs sont [Code entreprise]  [Code groupe] il faut savoir aussi que les données sont les mêmes dans ces 2 champs.

      voici le code, si vous avez une piste de solution, je vous remercie d'avance :

       

      LOAD [Nom formation],
           [Nom produit],
           [Site],     
           [Offre],    
           [Nom groupe],
           [Code groupe],
           [Etat facture groupe],
           [Gestionnaire],     
           [Date début groupe],
           [Date fin groupe],    
           Année,
           Mois,
           Année*100+Mois as Yearmonth,
           [Entreprise],
           [Montant réalisé assiduité],
           [Type formation],
           [Num département],
           [Département entreprise],
           left([Code postal entreprise],4)&'0' as [Code postal entreprise],
           [Nom convention],
           [Statut apprenant],
           [Conseiller],
           [Budget commercial],
           [Code entreprise]  
      FROM
      [$(FicQVD_QlikMartCom)]
      (qvd);


      Dimlienentreprise:
      LOAD
        [Code entreprise],
        [Code groupe],
        [Budget CA Client],
           CODE_RUB_DETAIL
      FROM
      [$(FicQVD_Dimlienentreprise)]
      (qvd) ;

      LOAD
        CODE_RUB_DETAIL,
               NOM_RUBRIQUE as [Rubrique],
               NOM_RUB_DETAIL as [Valeur rubrique]
      FROM
      [$(FicQVD_Dimrubrique)]
      (qvd) where NOM_RUBRIQUE='ADEFIM' or NOM_RUBRIQUE='Adhérent UIMM' or NOM_RUBRIQUE='Typologie Client' or NOM_RUBRIQUE='Budget CA' or NOM_RUBRIQUE='Type de Formation';

        • Re: pb left join entre 3 tables
          Eddy Sanchez

          What happend with:

           

          QlikMartCom:

          LOAD [Nom formation],
               [Nom produit],
               [Site],     
               [Offre],    
               [Nom groupe],
               [Code groupe],
               [Etat facture groupe],
               [Gestionnaire],     
               [Date début groupe],
               [Date fin groupe],    
               Année,
               Mois,
               Année*100+Mois as Yearmonth,
               [Entreprise],
               [Montant réalisé assiduité],
               [Type formation],
               [Num département],
               [Département entreprise],
               left([Code postal entreprise],4)&'0' as [Code postal entreprise],
               [Nom convention],
               [Statut apprenant],
               [Conseiller],
               [Budget commercial],
               [Code entreprise]  
          FROM
          [$(FicQVD_QlikMartCom)]
          (qvd);

           

          Left Join (QlikMartCom)

          LOAD
            [Code entreprise],
            [Code groupe],
            [Budget CA Client],
               CODE_RUB_DETAIL
          FROM
          [$(FicQVD_Dimlienentreprise)]
          (qvd) ;

           

          Left Join (QlikMartCom)

          LOAD
            CODE_RUB_DETAIL,
                   NOM_RUBRIQUE as [Rubrique],
                   NOM_RUB_DETAIL as [Valeur rubrique]
          FROM
          [$(FicQVD_Dimrubrique)]
          (qvd) where NOM_RUBRIQUE='ADEFIM' or NOM_RUBRIQUE='Adhérent UIMM' or NOM_RUBRIQUE='Typologie Client' or NOM_RUBRIQUE='Budget CA' or NOM_RUBRIQUE='Type de Formation';

           

          Do you have null values of CODE_RUB_DETAIL? may be you need to use INNER JOIN

          • Re: pb left join entre 3 tables
            Almamy DIABY

            Peux-tu relir la table en resident créée par la jointure de la 1ère et la 2ème table  ensuite faire la jointure de la 3è table. essaie avec le code ci-dessous

             

            Table1:

            LOAD [Nom formation],
                 [Nom produit],
                 [Site],     
                 [Offre],    
                 [Nom groupe],
                 [Code groupe],
                 [Etat facture groupe],
                 [Gestionnaire],     
                 [Date début groupe],
                 [Date fin groupe],    
                 Année,
                 Mois,
                 Année*100+Mois as Yearmonth,
                 [Entreprise],
                 [Montant réalisé assiduité],
                 [Type formation],
                 [Num département],
                 [Département entreprise],
                 left([Code postal entreprise],4)&'0' as [Code postal entreprise],
                 [Nom convention],
                 [Statut apprenant],
                 [Conseiller],
                 [Budget commercial],
                 [Code entreprise]  
            FROM
            [$(FicQVD_QlikMartCom)]
            (qvd);

             

            left join


            Table2:
            LOAD
              [Code entreprise],
              [Code groupe],
              [Budget CA Client],
                 CODE_RUB_DETAIL
            FROM
            [$(FicQVD_Dimlienentreprise)]
            (qvd) ;

             

            Table_Memoire:

            LOAD

                 [Nom formation],

                 [Nom produit],

                 [Site],     

                 [Offre],    

                 [Nom groupe],

                 [Code groupe],

                 [Etat facture groupe],

                 [Gestionnaire],     

                 [Date début groupe],

                 [Date fin groupe],    

                 Année,

                 Mois,

                 Yearmonth,

                 [Entreprise],

                 [Montant réalisé assiduité],

                 [Type formation],

                 [Num département],

                 [Département entreprise],

                 [Code postal entreprise],

                 [Nom convention],

                 [Statut apprenant],

                 [Conseiller],

                 [Budget commercial],

                 [Code entreprise] ,      

                [Budget CA Client],

                CODE_RUB_DETAIL

              resident Table1;

             

            left join

             

            Table3:

            LOAD

              CODE_RUB_DETAIL,
                     NOM_RUBRIQUE as [Rubrique],
                     NOM_RUB_DETAIL as [Valeur rubrique]
            FROM
            [$(FicQVD_Dimrubrique)]
            (qvd) where NOM_RUBRIQUE='ADEFIM' or NOM_RUBRIQUE='Adhérent UIMM' or NOM_RUBRIQUE='Typologie Client' or NOM_RUBRIQUE='Budget CA' or NOM_RUBRIQUE='Type de Formation';

             

            Drop table Table1;

              • Re: pb left join entre 3 tables
                Jacky GAUD

                bonjour et merci pour le coup de main.

                bon en faisant comme ça directement je n'obtiens pas de bon résultat alors j'ai pris le problème autrement.

                au lieu de faire les liasons de mes tables ici je les ai faite avant.

                j'ai fusionné en left join la table2 et 3 dans un qvd en utilisant la technique du résident énoncé précédemment puis ensuite j'ai fait un left join entre la table1 et le qvd précédent en prenant soin de séparer mes laisons entre tables et là ça fonctionne

                c'est un peu tordu mais le résultat est là