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
(chose que j'arrive pas a avoir, j'obtiens l'erreur suivante : Erreur SQL :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)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 :ORA-01427: sous-interrogation ramenant un enregistrement de plus d'une ligne,
01427. 00000 - "single-row subquery returns more than one row");
ça marche pas non plus :/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')
est ce un probleme de syntaxe ??
Merci bcp !!!
Partager