|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : avril 2005 Messages : 200 ![]() |
Bonjour,
j'ai une question sans doute facile, mais impossible de trouver la signification sur google: que signifie (+)= ? j'ai une requete Code : SELECT * FROM table1 t1, table2 t2 WHERE t1.COINN(+)=t2.COINT AND t1.NUCPT(+)=t2.NUCPT Merci d'avance |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 523 ![]() |
|
|
|
00
|
|
|
#3 | ||
|
Membre à l'essai
![]() Inscription : avril 2005 Messages : 200 ![]() |
merci mais ils disent (p23) que (+) est utilisé afin de ne pas supprimer de clients.
Or dans ma requête les clients sont supprimé: Code :
Pour info j'ai des clients de ma table t1 qui ont une jointure sur t2 via: COINT & NUCPT d'autre que sur COINT et d'autre aucune jointure sur t2 (mais je veut les garder) Merci |
||
|
|
00
|
|
|
#4 | ||
|
Membre à l'essai
![]() Inscription : avril 2005 Messages : 200 ![]() |
non pour etre plus précis je fais:
Code :
alors ils considere qu'il n'y a pas de jointure. Alors que moi je voudrais qu'il fasse une jointure si: t1.COINN=t2.COINT AND t1.NUCPT=t2.NUCPT ou sinon si t1.COINN=t2.COINT AND t2.NUCPT=null sinon pas de jointure mais qu'il garde les element t1. |
||
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
NVL est ton ami
|
|
|
00
|
|
|
#6 |
|
Membre à l'essai
![]() Inscription : avril 2005 Messages : 200 ![]() |
je ne voit pas l'utilité de NVL ici
c'est + un pb de jointure dans mon cas non? |
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
t2.NUCPT=null ne retournera jamais de résultat, il faudrait écrire :
|
|
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() Inscription : avril 2005 Messages : 200 ![]() |
ben ca revient au meme que
et en utilisant les jointure externe (+), je n'arrive pas à lié l'ensemble pour que cela fonctionne sinon je pensait au ou exclusif car je veux: t1.COINN=t2.COINT AND t1.NUCPT=t2.NUCPT ou sinon si t1.COINN=t2.COINT AND t2.NUCPT=null sinon pas de jointure mais qu'il garde les element t1. sachant que on peut avoir t1.COINN=t2.COINT AND t1.NUCPT=t2.NUCPT et aussi t1.COINN=t2.COINT AND t2.NUCPT=null mais que je veux garder que la 1ere expression: t1.COINN=t2.COINT AND t1.NUCPT=t2.NUCPT c'est bien le XOR non? car ca ne marche pas? |
|
|
00
|
|
|
#9 | |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Citation:
essaye ces 2 requêtes : Code :
SELECT sysdate FROM dual WHERE NULL = NULL Code :
SELECT sysdate FROM dual WHERE NULL IS NULL |
|
|
|
00
|
|
|
#10 |
|
Membre à l'essai
![]() Inscription : avril 2005 Messages : 200 ![]() |
bien vu
(mais ca résous pas mon pb, j'en conclu que les jointure externe avec oracle a ces limites |
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
ça n'a pas de limite, il faut juste faire attention aux valeurs NULL
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com