Bonjour à tous,
je coince sur un soucis mysql.
Je dois ajouter une fonctionnalité sur un petit jeux;
Chaque membre a un ou plusieurs sites (pas site web mais sites de construction) et une seule banque.
Chaque membre peut mettre ses réserves d'or (de leur banque) dans leur différents sites pour être en sécurité, pour le moment ils doivent toujours le faire manuellement.
Je dois créer une tâche automatisé qui va retirer l'or qu'ils ont à la banque et le mettre dans leur réserves d'or sur leur différents site, en fonction du nombre qu'ils choisissent (j'espère que j'arrive à me faire comprendre O_o), s'il leur solde en banque est plus petit que ce qui doit être ajouté, alors RIEN n'est ajouté.
Ce que je dois faire dans la tâche automatisé c'est faire une seule ligne de code SQL.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Tables : Membre : Id banque (montant d'or disponible, qui n'est pas encore dans leur réserve d'or) Site : Id membreId (pour savoir à qui appartient la réserve d'or) reserveOr (le montant d'or qu'ils ont sur le site en question) AttribuerOr : Id membreId siteId (pour savoir quel site doit être updaté) montant (le montant d'or qui va être retiré de la banque et ajouté sur le site)
Si c'est vraiment pas possible, alors il faudrait faire une boucle dans la procédure stockée...
J'ai donc commencé la requete sans succès ...
Edit : et évidement l'update : l'or qui a été ajouté sur leur site doit être retiré de leur banqueCode:Update site SET reserveOr = (reserveOr + (SELECT montant FROM AttribuerOr WHERE AttribuerOr.membreId = site.membreId) ) WHERE site.membreId IN (SELECT membre.id FROM membre INNER JOIN AttribuerOr WHERE membre.banque >= AttribuerOr.montant)
Merci de votre aide :D