|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2005 Messages : 18 ![]() |
Bjr,
J'ai un petit pb en PL/SQL, j'ai une requette avec cette jointure AND e2.val_rub = a.mot_fin_per Dans certain cas a.mot_fin_per est NULL et j'aurais besoin de sortir aussi ces enregistrements, mais je ne trouve pas comment faire Avec vous des idées ? Merci |
|
|
00
|
|
|
#2 |
|
Inactif
Inscription : décembre 2003 Messages : 1 946 ![]() |
La jointure externe est sans doute la solution à ton problème, mais il faudrait en dire un peur plus (ne serait-ce que la version que tu utilises)
|
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : septembre 2005 Messages : 18 ![]() |
Merci mais j'avais essayé la jointure externe, mais çà ne marche pas
J'utilise Oracle 8i Et voici mon script Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Inactif
Inscription : décembre 2003 Messages : 1 946 ![]() |
Pense à indenter correctement ta requête en exemple, voici le minimum :
Code :
Il faut ajouter le (+) partout ou ta table apparaît, par exemple si la jointure ne peut pas se faire sur le table e2, il est impossible que e2.cod_rub = 'S41.G01.00.004', puisque e2.cod_rub est NULL |
||
|
|
00
|
|
|
#5 | |
|
Invité de passage
![]() Inscription : septembre 2005 Messages : 18 ![]() |
Citation:
pour ta réponse !Désolé pour l'indentation Pour ce qui est du code, en fait c'est 'a.mot_fin_per' qui peut-être vide, la table e2 n'est jamais vide car c'est juste une table permettant de faire la correspondante en un code rubrique et un libellé Je rame très fort en ce lundi matin
|
|
|
|
00
|
|
|
#6 | |
|
Inactif
Inscription : décembre 2003 Messages : 1 946 ![]() |
Citation:
|
|
|
|
00
|
|
|
#7 | |
|
Invité de passage
![]() Inscription : septembre 2005 Messages : 18 ![]() |
Citation:
|
|
|
|
00
|
|
|
#8 | |||
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
Citation:
Code :
Voici un post qui devrait t'aider à trouver une solution : http://www.developpez.net/forums/viewtopic.php?t=406724&sid=483afbb75e4783f6ce84e955fa27c375
__________________
Un problème sans solution est un problème mal posé Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP. |
|||
|
|
00
|
|
|
#9 | |
|
Invité de passage
![]() Inscription : septembre 2005 Messages : 18 ![]() |
Citation:
Merci, j'avais vu ta solution, je suis en train d'essayer de l'appliquer, mais c'est pas gagné |
|
|
|
00
|
|
|
#10 | |||
|
Inactif
Inscription : décembre 2003 Messages : 1 946 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#11 | |
|
Invité de passage
![]() Inscription : septembre 2005 Messages : 18 ![]() |
Citation:
Et je vois pas comment contourner le pb |
|
|
|
00
|
|
|
#12 | ||
|
Inactif
Inscription : décembre 2003 Messages : 1 946 ![]() |
Voila comment je ferais avec la syntaxe normée :
Code :
Le point le plus important est la présence de e2.cod_rub = 'S41.G01.00.004' dans le ON du LEFT OUTER JOIN et non dans le WHERE. c'est à dire : e2.cod_rub(+) = 'S41.G01.00.004' ou (je me plante tout le temps) e2.cod_rub = 'S41.G01.00.004'(+) |
||
|
|
00
|
|
|
#13 | |||||
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
Citation:
Code :
[EDIT] La remarque que je fais plus haut est par rapport à la requête que rjulie a écrite qui me semble d'ailleurs fausse, je ferais plutôt quelque chose comme cela : Code :
__________________
Un problème sans solution est un problème mal posé Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP. |
|||||
|
|
00
|
|
|
#14 | ||||
|
Inactif
Inscription : décembre 2003 Messages : 1 946 ![]() |
PlaineR >> tu me fais soupçonner de plus en plus que je ne suis pas le seul à ne pas me rappeler de quel côté mettre le (+), et que je partage ce handicap avec rjulie
La réponse serait alors dans : Code :
insert into a values (NULL, 'C'); si je ne me trompe pas trop, tu devrais trouver : Code :
[EDIT] Nous sommes d'accord Laisse tomber le test [/EDIT] |
||||
|
|
00
|
|
|
#15 | ||
|
Invité de passage
![]() Inscription : septembre 2005 Messages : 18 ![]() |
pour vos réponsesLa solution est la suivante : Code :
Merci encore |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com