Requete de selection

Résolu/Fermé
ygj Messages postés 65 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 29 décembre 2021 - 1 janv. 2019 à 02:23
ygj Messages postés 65 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 29 décembre 2021 - 6 janv. 2019 à 19:19
Bonne année à toutes et tous ;-)

voici le schéma d'une base de données:
AGENCE (*Num_Agence, Nom, Ville, Actif)
CLIENT (*Num_Client, NomPrenom, Ville)
COMPTE (*Num_Compte, Num_Agence#, Num_Client#, Solde)
EMPRUNT (*Num_Emprunt, Num_Agence#, Num_Client#, Montant, etat)

on admis que:
un client peut avoir plus qu'une emprunte en meme temps.
le champ etat, est null lorsque l'emprunt n est pas encore validée.

je cherche depuis quelque temps à afficher : pour chaque agence (nom) quel est le client(nomprenom) qui a le plus grand epmrunt validé (etat).

ma solution (est incorrecte), puisqu'elle affiche les montants par agence et client:
select sum(montant)
from epmrunt e
inner join agence as a on a.num_agence=e.num_agence
inner join client as c on c.num_client=e.num_client
where etat is not null
group by a.num_agence, c.num_client
order by montant desc


je croix que la solution doit contenir having; mais je ne suis pas comment je dois l'integrer pour filtrer les résultats, ainsi sum et/ou max !!

merci pour votre aide.

1 réponse

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
1 janv. 2019 à 09:29
bonjour, si j'étais toi, je commencerais à faire une requête qui donne, pour chaque agence, le plus grand montant validé.
0
ygj Messages postés 65 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 29 décembre 2021 1
1 janv. 2019 à 19:46
bonsoir et merci,
la requete que tu suggeres:
select max(montant) from emprunt where etat='valide' group by num_agence
est ce que c'est correcte?
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > ygj Messages postés 65 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 29 décembre 2021
1 janv. 2019 à 20:19
l'as-tu testé?
0
ygj Messages postés 65 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 29 décembre 2021 1
4 janv. 2019 à 16:00
bonjour et désolé pour le retard,
j'ai testé la requete, et ça fonctionne correctement.
quelle est l'étape suivante STP?
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
4 janv. 2019 à 16:43
et ceci donne quoi?
select e.Num_Client, e.num_agence, mm.maxmontant
from emprunt as e, 
(select num_agence, max(montant) as maxmontant from emprunt where etat='valide' group by num_agence) as mm
where e.num_agence=mm.num_agence and e.montant=mm.maxmontant
0
ygj Messages postés 65 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 29 décembre 2021 1
6 janv. 2019 à 11:05
merci, ça fonctionne.
est ce qu'on peut résoudre le meme question avec la clause HAVING?
0