|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 8 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() |
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 |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 8 ![]() |
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? |
|
|
00
|
|
|
#4 |
|
Inactif
![]() Inscription : novembre 2006 Messages : 3 569 ![]() |
Bonsoir,
Il faut une jointure externe gauche de Fournisseurs_BL_Lignes vers Fournisseurs_Factures_lignes. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 8 ![]() |
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.
|
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
As-tu vu la question de say ?
Peux-tu nous donner le SQL généré par Crystal ? |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() |
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 |
|
|
00
|
|
|
#8 |
|
Inactif
![]() Inscription : novembre 2006 Messages : 3 569 ![]() |
|
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() |
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 |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 8 ![]() |
qu'est ce que vous appelez un critère?
je vais regarder le sql généré |
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
une condition posée avec l'expert sélection
|
|
|
00
|
|
|
#12 | ||
|
Invité de passage
![]() Inscription : février 2008 Messages : 8 ![]() |
ok, donc non je n'ai aucun critère avec l'expert sélection. Par contre voici le script sql généré :
![]() Code :
|
||
|
|
00
|
|
|
#13 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
La jointure entre Clients BL et Clients_BL_Lignes devrait elle aussi être externe.
|
|
|
00
|
|
|
#14 |
|
Inactif
![]() Inscription : novembre 2006 Messages : 3 569 ![]() |
|
|
|
00
|
|
|
#15 | |
|
Membre Expert
![]() |
Citation:
[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 |
|
|
|
00
|
|
|
#16 |
|
Membre Expert
![]() |
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 |
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 8 ![]() |
oui mais meme avec uniquement les deux tables ca marche pas...
enfin je vais essayer de mettre la deuxième jointure |
|
|
00
|
|
|
#18 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Pas quand il n'y a pas de BL_Lignes !
|
|
|
00
|
|
|
#19 |
|
Inactif
![]() Inscription : novembre 2006 Messages : 3 569 ![]() |
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 |
|
|
00
|
|
|
#20 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 8 ![]() |
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
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com