Bonjour,

J'ai trois tables:

produit
--------------
id
prix
stock

commandes
--------------
id
date
etat (0=>non validée, 1=>validée)

commande_produit
--------------
id
id_produit
id_commande
quantite

plusieurs commandes peuvent donc contenir un même produit

Je souhaite réincrémenter le stock des produits qui avaient été commandés mais dont la commande n'a pas été validée et étant assez ancienne.
Lorsque j'exécute la requête update multi-tables:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
update
  commande
    left join
  commande_produit on commande.id = commande_produit.id_commande
    left join
  produit on commande_produit.id_produit = produit.id
set
  produit.stock =
    produit.stock + commande_produit.quantite
where
  commande.date < '2009-10-01' and
  etat = 0
si un produit figure sur plusieurs commandes, le stock n'est réincrémenté que pour une seule commande à chaque fois. On dirait que l'update multi-tables ne peut pas intervenir plusieurs fois sur un même enregistrement...

Quelqu'un a-t-il déjà eu ce cas ?

Merci