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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.