Bonjour, comment pallier l'absence de l'opérateur JOIN sous oracle, notamment la possibilté de faire un LEFT JOIN .
merci de votre aide.
Version imprimable
Bonjour, comment pallier l'absence de l'opérateur JOIN sous oracle, notamment la possibilté de faire un LEFT JOIN .
merci de votre aide.
C'est possible dès la 9i, me semble-t-il
Pour y pallier :
Code:
1
2
3 select * from A, B where A.id += B.id
alors je précise je suis sous Oracle 8i...
Ben voilà ! :cry:
Au Inner join équivaut le
Au outer Join équivaut (à quelques exceptions prêtes) leCode:
1
2
3 select * from A, B where A.id = B.id
Code:
1
2
3 select * from A, B where A.id += B.id
bon alors au risque d'insister :
ça marche impeccable, noter que c'est l'équivalent d' un INNER JOINCode:
1
2
3
4
5
6 SELECT MVXJDTA.MITMAS.MMITNO, MVXJDTA.MITMAS.MMITDS, CUSJDTA.OPRBAZ.ODZCIT FROM MVXJDTA.MITMAS, CUSJDTA.OPRBAZ WHERE MVXJDTA.MITMAS.MMITNO = CUSJDTA.OPRBAZ.ODITNO AND CUSJDTA.OPRBAZ.ODCUNO='930815'
par contre...
la ça marche pas .... :(Code:
1
2
3
4
5
6 SELECT MVXJDTA.MITMAS.MMITNO, MVXJDTA.MITMAS.MMITDS, CUSJDTA.OPRBAZ.ODZCIT FROM MVXJDTA.MITMAS, CUSJDTA.OPRBAZ WHERE MVXJDTA.MITMAS.MMITNO += CUSJDTA.OPRBAZ.ODITNO AND CUSJDTA.OPRBAZ.ODCUNO='930815'
j'ai droit à ce superbe message d'erreur :
Error: ORA-00936: missing expression (State:37000, Native Code: 3A8)
Et ça ? :Citation:
Envoyé par Isildur
Code:
1
2
3
4
5 SELECT MVXJDTA.MITMAS.MMITNO, MVXJDTA.MITMAS.MMITDS, CUSJDTA.OPRBAZ.ODZCIT FROM MVXJDTA.MITMAS, CUSJDTA.OPRBAZ WHERE MVXJDTA.MITMAS.MMITNO (+) = CUSJDTA.OPRBAZ.ODITNO AND CUSJDTA.OPRBAZ.ODCUNO='930815'
Le signe plus doit être mis entre parenthèses pour être interprété comme symbole de jointure externe.
On écrit donc, selon le sens de la jointure :
Code:
1
2
3
4
5
6
7 SELECT... FROM A, B WHERE A.champ(+) = B.champ; ou SELECT... FROM A, B WHERE A.champ = B.champ(+);
Bonjour je sais que le poste est ferme mais je ne peux laisser cela sans une petite info en plus ;) ( http://download-east.oracle.com/docs...01/lexical.htm )<= pour valider ce que je dis.Citation:
Envoyé par Isildur
Isildur avant d'ecrie des choses comme cela svp faite une recheche!!
une recherche de 2 secondes pour trouver la reponse.... c'est peu d'effort.
Je ne suis pas remonte plus haut que la version 7
[Both Oracle7 and Rdb7 SQL support implicit joins. An example of achieving this is by listing more than one table in the FROM clause.]