update un champ d'une table en fonction d'un champ d'une autre table
Bonjour,
J'ai un problème de conception sur une requête:
Admettons que je possède deux tables constituées des champs ci-dessous:
table A = INDICE, VAL1, VAL2, VAL3, MONTANT
table B = VAL1, VAL2, VAL3, MONTANT_TOTAL
Je souhaite mettre à jour la valeur de B.MONTANT_TOTAL par B.MONTANT_TOTAL - A.MONTANT,
en sachant que pour lier mes deux tables, j'ai les champs VAL1, VAL2 et VAL3.
Si je fais un select, j'obtiens bien le résultat attendu:
Code:
1 2 3 4 5
| select B.MONTANT_TOTAL, A.MONTANT, B.MONTANT_TOTAL - A.MONTANT as NOUV_MONTANT from A, B
where A.VAL1 = B.VAL1
and A.VAL2 = B.VAL2
and A.VAL3 = B.VAL3
and A.INDICE = 7040907; |
Qui me donne:
Code:
1 2 3 4
| MONTANT_TOTAL MONTANT NOUV_MONTANT
30 5 25
25 6 19
20 3 17 |
Mais pour faire la même chose directement via un update, je n'y arrive pas, j'obtiens toujours des erreurs...
Avez-vous une idée ?
Merci d'avance,
MagicThot42