|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : avril 2007 Messages : 16 ![]() |
Bonjour,
Voici la requête suivante : Code :
Quel est l'intêret de créer des alias pour une même table ? Qu'est ce que ça change ? Et je voudrais savoir si savez ce que signifie le ' (+) ' ? Par exemple bak.id(+) ? Peut-être que cela a un lien? ESt-ce que vous pourriez me dire par la même occasion si ma requête semble correcte et cohérente ? Merci pour votre aide. |
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Ce "double alias" comme vous l'appelez est là pour gérer la double relation entre votre table wftpl et ctct (via les colonnes assignee et zbk_assignee).
Les ID de ces colonnes pouvant être différents, mais faisant néanmoins partie de la table ctct, il devient obligatoire de faire 2 jointures pour avoir les différentes valeurs. Si vous ne le faites pas, la requête reviendrait à rechercher une liaison avec ctct.ID = wftpl.assignee ET ctct.ID =wftpl.tpl.zbk_assignee donc wftpl.assignee =wftpl.tpl.zbk_assignee ce qui ne correspond surement pas à la règle fonctionnelle de votre applicatif Le symbole (+) est l'indicateur d'une jointure externe implicite. Il est spécifique à ORACLE. Vous pourriez écrire vos requêtes avec des jointures explicites, cela permet d'isoler vos conditions de jointures de vos clauses (INNER et OUTER JOIN). Exemple : Code :
Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
||
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 926 ![]() |
si tu joins une table avec elle-même, il te faut des alias différents
ex: les couples d'employés avec le même salaire : Code :
|
||
|
00
|
Copyright © 2000-2012 - www.developpez.com