IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SAP Crystal Reports Discussion :

[CR XI] jointure externe


Sujet :

SAP Crystal Reports

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut [CR XI] jointure externe
    Bonjour,
    Malgré plusieurs sujets sur les jointures externes, je n'arrive pas à résoudre mon problème :
    Je souhaite afficher les commandes ayant un bon de livraison qu'elles soient facturées ou non, mais à partir du moment où j'intègre la table facture dans mon modèle, crystal n'affiche que les commandes ayant des factures.
    J'ai tenté à l'aide de l'expert base de données et de l'onglet option de mise en relation dans liens de mettre en place une jointure externe mais le résultat est identique... j'ai essayé jointure gauche, droite ou complete avec appliqué vers, depuis ... mais rien ne fonctionne...
    Quelqu'un peut-il m'aider?
    Merci d'avance
    Nabnallee

  2. #2
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    difficile sans voir les liens...
    d'après ce que tu dis, c'est la bonne méthode...
    LEFT join sur la table facture...

    cependant appliques tu un critère sur cette table?
    si oui, du moment que tu appliques un critère, ça revient à faire un INNER

    A+
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    alors en fait j'ai deux tables : Fournisseurs_BL_Lignes et Fournisseur_Factures_Lignes.
    Elles sont liées par la clé étrangère : CliFacLig_Code_CliBlLig+CliFacLig_No_Ligne_CliBlLig qui est primaire pour Fournisseurs_BL_Lignes et étrangère pour Fournisseurs_Factures_lignes.

    C'est sur ces deux liens que j'ai mis la jointure externe gauche avec l'expert base de données... mais il ne se passe rien...
    Je me demande s'il n'y a pas qqchose à cocher qqpart en plus?

  4. #4
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Bonsoir,

    Il faut une jointure externe gauche de Fournisseurs_BL_Lignes vers Fournisseurs_Factures_lignes.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Bah c'est ce que j'ai fait mais ça ne change rien aux résultats, que je mette la jointure ou non, je n'obtiens que les bons de livraisons qui sont déjà facturés.

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    As-tu vu la question de say ?
    Citation Envoyé par say Voir le message
    cependant appliques tu un critère sur cette table?
    si oui, du moment que tu appliques un critère, ça revient à faire un INNER
    Peux-tu nous donner le SQL généré par Crystal ?
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  7. #7
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    bjr,

    tes liens tu les as fait toi même ou CR s'est organisé?
    il m'a souvent semblé que CR prévoit des NATURAL JOIN parfois à côté de la plaque et on ne voit pas certains liens qui se retrouvent superposés.

    supprimes tous les liens et crées les tiens explicitement. Encore une fois, le moindre critère sur la table de droite appliquera un INNER JOIN.

    si tu peux envoyer ton report, je veux bien regarder
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  8. #8
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Citation Envoyé par say Voir le message
    il m'a souvent semblé que CR prévoit des NATURAL JOIN parfois à côté de la plaque et on ne voit pas certains liens qui se retrouvent superposés.
    parfois ?

  9. #9
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    ah...attention...ça va trollé si tu me lances ;-)
    bah en même temps, le natural...bah il fait ce qu'on lui dit
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    qu'est ce que vous appelez un critère?
    je vais regarder le sql généré

  11. #11
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Citation Envoyé par nabnallee Voir le message
    qu'est ce que vous appelez un critère?
    une condition posée avec l'expert sélection
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  12. #12
    Nouveau Candidat au Club
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    ok, donc non je n'ai aucun critère avec l'expert sélection. Par contre voici le script sql généré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     SELECT "Clients_BL_Lignes"."CliBLLig_Code", 
    "Clients_BL_Lignes"."CliBLLig_No_Ligne", 
    "Clients_Factures"."CliFac_Date_Facture", 
    "Clients_Factures_Lignes"."CliFacLig_Code", "Clients_BL"."CliBL_Date_Envoi", 
    "Clients_BL"."CliBL_Code", "Clients_Factures_Lignes"."CliFacLig_No_Ligne"
     FROM   (("DB_SATORI"."dbo"."Clients_Factures_Lignes" "Clients_Factures_Lignes" 
    LEFT OUTER JOIN "DB_SATORI"."dbo"."Clients_BL_Lignes" "Clients_BL_Lignes" 
      ON ("Clients_Factures_Lignes"."CliFacLig_Code_CliBlLig"="Clients_BL_Lignes"."CliBLLig_Code") 
        AND ("Clients_Factures_Lignes"."CliFacLig_No_Ligne_CliBlLig"="Clients_BL_Lignes"."CliBLLig_No_Ligne")) 
    INNER JOIN "DB_SATORI"."dbo"."Clients_Factures" "Clients_Factures" 
      ON "Clients_Factures_Lignes"."CliFacLig_Code_CliFac"="Clients_Factures"."CliFac_Code") 
    INNER JOIN "DB_SATORI"."dbo"."Clients_BL" "Clients_BL" 
      ON "Clients_BL_Lignes"."CliBLLig_Code_CliBL"="Clients_BL"."CliBL_Code"
     
    ORDER BY "Clients_BL"."CliBL_Code"

  13. #13
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    La jointure entre Clients BL et Clients_BL_Lignes devrait elle aussi être externe.
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  14. #14
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Citation Envoyé par Antoun Voir le message
    La jointure entre Clients BL et Clients_BL_Lignes devrait elle aussi être externe.
    Pourquoi ? On a forcément un bon de livraison donc on a BL et BL_Lignes non ?

  15. #15
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    Citation Envoyé par Antoun Voir le message
    La jointure entre Clients BL et Clients_BL_Lignes devrait elle aussi être externe.
    +1

    [t'avais qd même omis de nous dire qu'il y avait plus de 2 tables liées ]
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  16. #16
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    Citation Envoyé par Adrien Artero Voir le message
    Pourquoi ? On a forcément un bon de livraison donc on a BL et BL_Lignes non ?
    j'avoue ne pas avoir de véritable explication, c'est de manière empirique que j'ai remarqué que le LEFT doit être propagé en cascade ou encapsuler par bloc
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  17. #17
    Nouveau Candidat au Club
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    oui mais meme avec uniquement les deux tables ca marche pas...
    enfin je vais essayer de mettre la deuxième jointure

  18. #18
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Citation Envoyé par Adrien Artero Voir le message
    Pourquoi ? On a forcément un bon de livraison donc on a BL et BL_Lignes non ?
    Pas quand il n'y a pas de BL_Lignes !
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  19. #19
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Citation Envoyé par Antoun Voir le message
    Pas quand il n'y a pas de BL_Lignes !
    Mais il doit y en avoir toute le temps... BL (ou plutôt Clients_BL) est la table en-tête de livraison... Mais on ne fait une livraison si et seulement si on livre quelque chose. Donc il y a forcément au minimum une ligne et Clients_BL_Lignes est forcément renseigné
    Ou alors j'ai loupé quelque chose

  20. #20
    Nouveau Candidat au Club
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    oui effectivement mettre une jointure entre Client_BL et Clients_BL_Lignes n'a fait que planter crystal et effectivement à partir du moment qu'il y a un entete de BL il y a forcément au moins une ligne qui correspond

Discussions similaires

  1. [CR9] faire une Jointure externe
    Par coldec dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 28/06/2005, 12h10
  2. Jointure externe compliquée
    Par miniil dans le forum Langage SQL
    Réponses: 9
    Dernier message: 19/02/2004, 09h27
  3. Jointure externe qui ne fonctionne pas
    Par Guizz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/02/2004, 12h26
  4. [ jointure externe ] j'y pompe rien
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/12/2003, 17h57
  5. [Interbase] [Triggers] jointure externe
    Par AnestheziE dans le forum InterBase
    Réponses: 9
    Dernier message: 17/11/2003, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo