Bonjour,

Je souhaite réaliser une equête de mise à jour d'un table "table1", jointe avec 2 autres tables (table2 et table3), et mettre la valeur d'un champ de la table 3 dans un champ de la table 1.

Je ne sais pas si je suis très clair.

mes jointures entre mes tables :
TABLE2.CHAMP1 = TABLE1.CHAMP2
TABLE2.CHAMP1 = TABLE3.CHAMP3
TABLE1.CHAMP4 = TABLE3.CHAMP5

Expression litérale de mise à jour :
quand les champ 10 et 11 de ma table 1 sont null, et que le champ 6 de la table 3 est égal à 'N' (CHAR(1), alors mettre la valeur de table3.champ10 dans table1.champ11 et '20' (CHAR(2) )dans le champ10 de la table 1

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
UPDATE TABLE1 
SET CHAMP10 = '20', CHAMP11=TABLE3.CHAMP10
WHERE TABLE2.CHAMP1 = TABLE1.CHAMP2
AND TABLE2.CHAMP1 = TABLE3.CHAMP3
AND TABLE1.CHAMP4 = TABLE3.CHAMP5
AND TABLE3.CHAMP6 = 'N'
AND CHAMP10 Is null
AND CHAMP11 Is null
;
la requête ci dessus me donne une erreur :
ERREUR à la ligne 6 :
ORA-00904: "TABLE3"."CHAMP6" : identificateur non valide

j'ai la même erreur sur la ligne 5 avec le champ TABLE3.CHAMP5 quand je supprime la ligne 6.

comment faire pour réaliser ma mise à jour ?

Merci d'avance.

Bonne journée.