19-03-2012, 12:02 AM
coucou, j'ai un sujet qui m'embête, et je ne sais pas comment (et si c'est possible) la réaliser via une requête unique. Je saurais le faire via php, avec récursivité ou autre, mais j'aimerais être en mesure de le faire via une seule requête (si c'est pertinent)
Voici le besoin : calculer l'impôt que récolte un suzerain sur ces vassaux :
supposons
le duc D1 a 2 comtes C1.1 C1.2 et un baron B1.0.1 comme vassaux
le comte C1.1 a pour vassaux deux barons B1.1.1 et B1.1.2
le comte C1.2 a pour vassaux deux barons B1.2.1 et B1.2.2
chacun a deux sources de revenus :
- les revenus propres de ses terres que je calcule par ailleurs
- les impôts sur les revenus (propres + impots) de ses vassaux
Evidemment les impôts varient pour chaque couple (suzerain, vassal)
si on raisonne en table,ça donnerait (décision du joueur) :
suzerain / vassal / taux d'impot
D1 / C1.1 / 10%
D1 / C1.2 / 15%
D1 / B1.0.1 / 20%
C1.1 / B1.1.1 / 15%
C1.1 / B1.1.2 / 10%
C1.2 / B1.2.1 / 10%
C1.2 / B1.2.2 / 10%
Si on compte en revenu propre on aurait (via d autres calculs) :
seigneur / revenu propre
D1 / 1000
C1.1 / 300
C1.2 / 400
B1.0.1 / 100
B1.1.1 / 100
B1.1.2 / 250
B1.2.1 / 100
B1.2.2 / 100
et ce que je cherche à obtenir :
seigneur / revenu total
B1.0.1 / 100 * 0.8 --> on suppose pas d'impot pour les barons donc total = propre - impot au suzerain
B1.1.1 / 100 * 0.9
B1.1.2 / 250 * 0.9
B1.2.1 / 100 * 0.9
B1.2.2 / 100 * 0.9
C1.1 / ( 300 + 0.15*100 + 0.1 * 250 ) = 340
C1.2 / (400 + 0.1 * 100 + 0.1 * 100) *0.85 = 420 *0.85
D1 / 1000 + 0.1 * 340 + 0.15 * 420 + 100 * 0.2
Pour les volumétries, imaginons qu'il y ait 10000 vassaux dans une hiérarchie complètement désarticulée (j'ai mis là un baron et deux comtes sous D1, mais on peut imaginer des vassaux sous B1.1.2, plusieurs duc, etc...)
Qu'en pensez vous ? Merci de votre aide !
Voici le besoin : calculer l'impôt que récolte un suzerain sur ces vassaux :
supposons
le duc D1 a 2 comtes C1.1 C1.2 et un baron B1.0.1 comme vassaux
le comte C1.1 a pour vassaux deux barons B1.1.1 et B1.1.2
le comte C1.2 a pour vassaux deux barons B1.2.1 et B1.2.2
chacun a deux sources de revenus :
- les revenus propres de ses terres que je calcule par ailleurs
- les impôts sur les revenus (propres + impots) de ses vassaux
Evidemment les impôts varient pour chaque couple (suzerain, vassal)
si on raisonne en table,ça donnerait (décision du joueur) :
suzerain / vassal / taux d'impot
D1 / C1.1 / 10%
D1 / C1.2 / 15%
D1 / B1.0.1 / 20%
C1.1 / B1.1.1 / 15%
C1.1 / B1.1.2 / 10%
C1.2 / B1.2.1 / 10%
C1.2 / B1.2.2 / 10%
Si on compte en revenu propre on aurait (via d autres calculs) :
seigneur / revenu propre
D1 / 1000
C1.1 / 300
C1.2 / 400
B1.0.1 / 100
B1.1.1 / 100
B1.1.2 / 250
B1.2.1 / 100
B1.2.2 / 100
et ce que je cherche à obtenir :
seigneur / revenu total
B1.0.1 / 100 * 0.8 --> on suppose pas d'impot pour les barons donc total = propre - impot au suzerain
B1.1.1 / 100 * 0.9
B1.1.2 / 250 * 0.9
B1.2.1 / 100 * 0.9
B1.2.2 / 100 * 0.9
C1.1 / ( 300 + 0.15*100 + 0.1 * 250 ) = 340
C1.2 / (400 + 0.1 * 100 + 0.1 * 100) *0.85 = 420 *0.85
D1 / 1000 + 0.1 * 340 + 0.15 * 420 + 100 * 0.2
Pour les volumétries, imaginons qu'il y ait 10000 vassaux dans une hiérarchie complètement désarticulée (j'ai mis là un baron et deux comtes sous D1, mais on peut imaginer des vassaux sous B1.1.2, plusieurs duc, etc...)
Qu'en pensez vous ? Merci de votre aide !