par
laymo » 21 août 2012, 14:01
Bonjour à toutes et tous,
Voici les scripts de creation des tables :
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
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
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)
NUMPCE | PARENTID
12345 |
Mais le résultat est qu'il n'y pas d'enregistrement
NUMPCE | PARENTID
C'est comme si la jointure externe ne jouait pas son rôle
merci pour votre aide
Bonjour à toutes et tous,
Voici les scripts de creation des tables :
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
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
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)
NUMPCE | PARENTID
12345 |
Mais le résultat est qu'il n'y pas d'enregistrement
NUMPCE | PARENTID
C'est comme si la jointure externe ne jouait pas son rôle
merci pour votre aide