Jointure externe avec condition
Bonjour à toutes et tous,
Voici les scripts de creation des tables :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| CREATE TABLE dem_comment (
COMMENTID VARCHAR2(50 BYTE) NOT NULL,
PARENTID VARCHAR2(50 BYTE) NOT NULL,
DEM_DATE_CREATION_MEMO date)
CREATE TABLE demand(
NUM_PCE VARCHAR2(14 BYTE) NOT NULL,
NUM_DEMANDE VARCHAR2(8 BYTE)
)
insert into dem_comment VALUES (1,'12345ABCDEF',to_date('17/08/2012 10:18:34','DD/mm/YYyy HH:MI:SS'))
insert into demand values('12345','ABCDEF') |
Et la requete qui me pose problème est la suivante
Code:
1 2 3 4 5 6
| select dem.NUM_PCE, memo.parentid
from demand dem, dem_comment memo
where CONCAT(dem.NUM_PCE,dem.NUM_DEMANDE) = memo.parentId (+)
and memo.DEM_DATE_CREATION_MEMO = (select MAX(DEM_DATE_CREATION_MEMO)
FROM dem_comment memo
WHERE memo.parentId = CONCAT(dem.NUM_PCE,dem.NUM_DEMANDE)) |
Le résultat de l'execution de cette requete est celui que j'attend
Citation:
NUMPCE | PARENTID
12345 | 12345ABCDEF
Mais lorsque je supprime l'enregistrement de la table dem_comment, je suis supposé avoir le résultat suivant (à cause de la jointure externe)
Citation:
NUMPCE | PARENTID
12345 |
Mais le résultat est qu'il n'y pas d'enregistrement
Citation:
NUMPCE | PARENTID
C'est comme si la jointure externe ne jouait pas son rôle
merci pour votre aide