(19-03-2012, 12:19 AM)niahoo a écrit : Alors je peux absolument pas t'aider en SQL vu que je suis pas très doué, mais voici une remarque :
Tu peux simplement, à chaque fois qu'un seigneur gagne quelque chose, lire dans ta DB quel pourcentage il doit reverser à son suzerain, puis soit lui verser directement, soit mettre ça dans un buffer qui sera relevé au moment où les impôts sont récoltés.
Pour le buffer, tu peux prélever l'argent du vassal pour le mettre dedans, ou bien simplement enregistrer le montant pour le prélever plus tard quitte à ce que le vassal n'ait pas assez pour payer à ce moment là et se fasse péter les rotules à coup d'arquebuse.
j'avais pensé au buffer, mais ca revient à faire une boucle avec pas mal d'instructions : "tant qu'il y a un enregistrement dans le buffer :
- reverser les impots au dessus (update de la somme),
- supprimer les enregistrements du buffer (delete/update du buffer fonction d'une suppression logique ou pas)
- créer des lignes dans le buffer pour le suzerain du suzerain (s'il existe)
soit n*3 requêtes avec n le nombre d'intermédiaire entre le seigneur sans suzerain (roi par exemple) et le seigneur sans vassal (banneret par exemple)
on arrivera certainement à 20 ou 30 requêtes (c'est mon scenario php)