SUM puis MAX et on affiche le client et la somme max

Résolu
Hackdevil Messages postés 28 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 5 mai 2014 - 6 oct. 2010 à 17:43
Hackdevil Messages postés 28 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 5 mai 2014 - 20 oct. 2010 à 16:17
Bonjour,

J'ai un problème pour une requête.

- Table BILANINTER qui est composée de idIntervention, prix etc...

- Table RDV qui contient idIntervention, idClient etc...

- Table Client qui contient idClient, Nom etc...

- Requête MEILLEURCLIENT qui fait la somme des prix.
(SELECT RDV.idClient, Sum(BILANINTER.Prix) AS SommeDePrix
FROM RDV INNER JOIN BILANINTER ON RDV.idIntervention = BILANINTER.idIntervention
GROUP BY RDV.idClient;)

Ce que j'aimerai faire en gros, c'est afficher le plus grand total de la somme des prix ainsi que le nom du client qui a ce total.

J'arrive à afficher le plus grand total mais pas le client :s

Ma requête donne ça :

SELECT Max(MEILLEURCLIENT.SommeDePrix) FROM MEILLEURCLIENT

Ce qui m'affiche bien le prix total du cumul des prix par client.
Il reste plus qu'à afficher le nom de ce client mais je patauge un peu là.
Pour info, je ne peux pas modifier les tables, juste les interroger.

Si quelqu'un a une idée ?
Merci pour votre lecture.
A voir également:

2 réponses

Hackdevil Messages postés 28 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 5 mai 2014
20 oct. 2010 à 16:17
Problème résolu après avoir eu accès aux tables qui n'étaient pas bien faites.

J'ai tout réuni en une seule puis j'ai exécuté cette requête.

SELECT idClient, SUM(Prix) AS MeilleurPrix
FROM INTERV
GROUP BY idClient
HAVING SUM(Prix) >= ALL ( SELECT SUM(Prix)
FROM INTERV
GROUP BY idClient);
1
Hackdevil Messages postés 28 Date d'inscription dimanche 2 janvier 2005 Statut Membre Dernière intervention 5 mai 2014
10 oct. 2010 à 15:02
Up.

Please Help.
0
Rejoignez-nous