Requête pour faire la somme d'un champ
Bonjour à tous,
Dans une de mes tables j'ai 3 clés étrangères à savoir : Mle, NumProces et NumCompte.
Je voudrais créer une procédure stockée qui peut sélectionner tout les enregistrements d'une de ces clés étrangères dans la table où ils ont migré.
Voilà comment j'ai fait :
Code:
1 2 3 4 5 6
|
Create procedure rechercherDossier(passepartout varchar(25))
Begin
Select d.*,a.CodeAgent,a.NomAgent,a.PrenomAgent,c.CodeClient ,c.NomClient,c.PrenomClient,p.LibelleProces,p.NumRegion,r.NomRegion, sum(MontantDemande) as montantDemande,sum(MontantRecommande) as montantRecommande,sum(MontantAccorde) as montantAccorde from dossier d,agent a,client c,proces p ,region r where d.Mle = a.Mle and d.NumCompte = c. NumCompte and d.NumProces = p. NumProces and p.NumRegion = r.NumRegion and p.LibelleProces = passepartout or d.Mle= a.Mle and d.NumCompte = c. NumCompte and d.NumProces = p.NumProces and p.NumRegion = r.NumRegion and c.CodeClient = passepartout or d.Mle = a.Mle and d.NumCompte = c.NumCompte and d.NumProces = p.NumProces and p.NumRegion = r.NumRegion and a.CodeAgent = passepartout;
End |
Le problème,ce que cette procédure me renvoi un seul enregistrement quelque soit le nombre de fois qu'existe la variable en paramètre("passepartout").
Quand j'enlève les fonctions d'agrégation j'ai le résultat escompté.Si quelqu'un sait comment je dois faire merci de m'aider.