Bonjour,
Voici une requete qui me calcule, pour chaque type d'abonnement téléphonique, le service qui est le plus appelé:
(SELECT MAX(nb)
FROM (SELECT a.idfabo, numservice, COUNT(numutilisation) AS nb
FROM abonnement a, utilise, contrat
WHERE a.idfabo=contrat.idfabo
AND contrat.numcontrat=utilise.numcontrat
GROUP BY utilise.numservice, a.idfabo) AS count2
GROUP BY idfabo);
Cependant, elle n'affiche que le maximum d'utilisations, mais ne marque pas le service correspondant ni le type d'abonnement correspondant...
J'ai essayé de l'imbriquer dans une autre requete, mais ça ne marche pas non plus... :
SELECT idfabo, numservice, nb AS Nb_Utilisations_Max
FROM (SELECT a.idfabo, numservice, COUNT(numutilisation) AS nb
FROM abonnement a, utilise, contrat
WHERE a.idfabo=contrat.idfabo
AND contrat.numcontrat=utilise.numcontrat
GROUP BY utilise.numservice, a.idfabo) AS count1
WHERE nb IN (SELECT MAX(nb)
FROM (SELECT a.idfabo, numservice, COUNT(numutilisation) AS nb
FROM abonnement a, utilise, contrat
WHERE a.idfabo=contrat.idfabo
AND contrat.numcontrat=utilise.numcontrat
GROUP BY utilise.numservice, a.idfabo) AS count2
GROUP BY idfabo);
Avez-vous des idées?
merci!!!!!!