Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/12/2011, 10h03   #1
Membre habitué
 
Inscription : novembre 2008
Messages : 238
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 238
Points : 120
Points : 120
Par défaut Problème de jointure externe entre 3 tables

Bonjour,

Je souhaite modifier une vue pour y placer une nouvelle jointure externe via SQLDEVELOPPER. Je souhaite lier la table des commandes client à la table des contacts clients sachant qu'une commande ne pointe pas forcément sur un enregistrement de la table contact client. Or dans la vue existante il y a déjà une jointure externe entre la table des commande et une autre table.
Lorsque je clic sur "Test syntax" de l'interface, je n'ai pas de message d'erreur.
Lorsque je clic sur "OK", j'ai le code erreur ORA-01417 "une table peut être de jointure externe pour une autre table au moins".

Voici mes jointures sur la table des commandes :

Code :
 AND BLO.ID_PIECE=C.ID_CMDE(+)   AND CC.id_client_contact=C.id_contact_cli(+)
Merci d'avance.
Julien.
juju05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 10h52   #2
Membre Expert
 
Inscription : août 2009
Messages : 779
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 779
Points : 1 098
Points : 1 098
Il faudrait passer par des jointures normalisées :

Code :
1
2
3
4
5
6
7
 
SELECT ...
  FROM uneTable blo
          LEFT OUTER JOIN uneAutreTable cc
                  ON ( condition de jointure entre blo et cc)
          LEFT OUTER JOIN  laTable C
                 ON (BLO.ID_PIECE=C.ID_CMDE   AND CC.id_client_contact=C.id_contact_cli)
Rei Ichido est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h21.


 
 
 
 
Partenaires

Hébergement Web