< P10 - requete un peu compliquée | Forum des BTS

P10 - requete un peu compliquée

  • Auteur de la discussion Auteur de la discussion cedfr
  • Date de début Date de début

cedfr

Best Member
Bonjour,
J'ai une question sur un exercice de P10 au niveau d'une requete où j'ai quelques difficultés; je vous joint le modèle de donnée; les deux tables qui intéressent sont en bas à droite et sont:

CONTRAT (NuméroContrat, DateFacturation, ModalitéCaution)

CLIENT (CodeClient, NomClient, AdresseClient, VilleClient, TypeClient)


La requete est la suivante: nombre de contrats par nom client pour les clients possédant au moins 3 contrat.
Donc, j'ai quelque chose comme SELECT COUNT (NuméroContrat)
FROM CONTRAT, CLIENT
WHERE ....
GROUP BY NomClient

Mais comment prendre en compte le fait que ce sont les clients avec au moins 3 contrats ?
 
Salut,

CONTRAT (NuméroContrat, DateFacturation, ModalitéCaution, CodeClient#)
CLIENT (CodeClient, NomClient, AdresseClient, VilleClient, TypeClient)

SELECT CLIENT.NomClient, COUNT(CONTRAT.CodeClient#) AS Nb_Contrat
FROM CONTRAT, CLIENT
WHERE CLIENT.CodeClient = CONTRAT.CodeClient#
GROUP BY NomClient
HAVING COUNT(CONTRAT.CodeClient#)&gt;=3;
@+
 
Salut,
Beaucoup oubli le HAVING.
Dès qu'une condition est posée sur une fonction d'agrégat COUNT, SUM, MIN, MAX et AVG, comme dans ton cas, l'option HAVING est obligatoire.
@+
 
Retour
Haut