Bonjour a tous.
j'ai un ptit prob, je dois detecter un EVENNEMENT (dans la TABLE X)
Cet evennement ne le devient qu'avec une jointure sur la table z, et après vérification des lignes qui existent dans x
TABLE_X
|----------------------
| CODCPT | Statut
|---------|-----------
| AA | NULL
| BB | NULL
| CC | NULL
| DD | NULL
| EE | NULL


// ceci n'est qu'une partie de la table_x


TABLE_Z
|----------------------
| CODCLT | CODCPT_Z
|----------|-----------
| |
| II | BB
| |
| KK | DD

// ceci n'est qu'une partie de la table_z



TABLE_X
|----------------------
| CODCPT | Statut
|----------|-----------
| AA | 0
| BB | 1
| CC | 0
| DD | 1
| EE | 0

// Au final c'est ce que je dois avoir ( ci dessus )



UPDATE TABLE_X
SET STATUT='EVENEMENT'
WHERE CODCPT = (SELECT CODCPT_Z FROM TABLE_Z)
(chose que j'arrive pas a avoir, j'obtiens l'erreur suivante : Erreur SQL :
ORA-01427: sous-interrogation ramenant un enregistrement de plus d'une ligne,

01427. 00000 - "single-row subquery returns more than one row");
UNE FOIS LA TABLE_X MISE A JOUR, JE DOIS CALCULER LA DATE DE CET EVENNEMENT A PARTIR D'UNE AUTRE TABLE_Z, L'INSERE DANS LA TABLE_Y :


TABLE_Y
|------------------------------------------
| CODCLT | CODCPT | Date_evennement
|----------|-----------|----------------
| AA | FF | DATE_Rapport - DATE_pré_EVENNEMENT
| BB | II |
| CC | JJ |
| DD | KK |
| EE | LL |


// DATE_EVENNEMENT = DATE_Rapport - DATE_PRE_EVENNEMENT


Table_Z
|--------------------------------------------------------------------
| CODCLT | CODCPT |Date_pré_evennement | DATE_RAPPORT
|----------|------------|-----------------------|--------------------
| | | |
| BB | II | 30/01/2001 | X/X/X
|
| DD | KK | 13/05/2003 | Y/Y/Y


// j'ai fais ce qui suit :

UPDATE TABLE_Y
SET DATE_EVENNEMENT= ( SELECT ((TABLE_Z.DATE_RAPPORT)-(TABLE_Z.DATE_PRE_EVENNEMENT))
FROM TABLE_Z, TABLE_X
WHERE TABLE_X.STATUT='1')
ça marche pas non plus :/

est ce un probleme de syntaxe ??
Merci bcp !!!