Page 1 sur 1

calcul le reste des rembourssement

Posté : 21 févr. 2011, 16:20
par kimou
salut
voila mon problème
jais 3 table personne,emprunt,rendre
personne(num-per,nom,prenom)
emprunt(num_per,date_emprt,mont_emprt)
remboursement(num_per,date_remb,mont_remb)

je veux calculé le reste des remboursements pour chaque personne
voila mon code
select emprunt.num_per ,sum(emprunt.mont_emprt) as emprunter,sum(remboursement.mont_remb) as reùboursement from emprunt,rendre where emprunt.num_per=rendre.num_per group by emprunt.num_per

cette requette me donne des fausse resultas
vraiment je me suis bloqué
aider nous svp

Re: calcul le reste des rembourssement

Posté : 21 févr. 2011, 17:24
par Mazarini
Bonjour,

Ta requête ne fonctionne pas car la jointure est un produit cartésien. Chaque emprunt est relié à tous les remboursements et réciproquement.

Il faudrait que tu crées une vue avec :
select num_per ,mont_emprt as emprunter,0 as remboursement from emprunt
union
select num_per ,0 as emprunter,mont_remb as remboursement from rendre
Ensuite tu fait un select avec le group by et les sum() sur la vue

Re: calcul le reste des rembourssement

Posté : 22 févr. 2011, 13:35
par kimou
Merci pour ta reponce
est Ce Que Tu peut m'aider un peut plus car je ne ces pas comment je vais faire le group by et les sum() sur la vue
encore merci

Re: calcul le reste des rembourssement

Posté : 23 févr. 2011, 15:01
par Mazarini
Dans phpmyadmin tu fais une fois :

CREATE VIEW vue AS
(SELECT num_per ,mont_emprt AS emprunter,0 AS remboursement FROM emprunt
UNION
SELECT num_per ,0 AS emprunter,mont_remb AS remboursement FROM rendre);

et dans ton PHP tu fais un select num_per ,sum(emprunter) AS emprunter,sum(remboursement ) AS remboursement from vue group by num_per