Je cherche la bonne requète mysql

Fermé
JessayeDeTrouver Messages postés 270 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 4 mai 2012 - 13 juil. 2011 à 11:54
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 - 13 juil. 2011 à 12:37
Bonjour,

je n'arrive pas à trouver la bonne requète mysql me permettant d'obtenir le nombre d'agences d'un département ayant publié des biens.

D'abord, je vous montre les 2 tables à partir desquelles je dois construire la bonne requète mysql.

1) La table agence :
Quand une agence s'inscrit sur le site, elle est insérée dans la table agence.
Voici la structure de la table agence :

id_agence | nom | departement
1 | aaa | 75
2 | bbb | 75
3 | ccc | 75
4 | ddd | 92
5 | eee | 94

Par exemple, d'après la table, l'agence bbb se situe dans le département 75 et est la 2ème inscrite du site.


2) la table bien :
Lorsque une agence est inscrite sur le site, elle a la possibilité de publier des biens sur le site.

Et lorsqu'une agence publie un bien, ce bien est inséré dans la table bien.

Voici la structure de la table bien :

id_bien | id_agence
880 | 1
881 | 1
882 | 1
883 | 2

Ici, d'après cette table, l'agence 1 (donc c'est l'agence aaa du 75) a publié 3 biens (880,881, et 882),
et l'agence 2 (donc c'est l'agence bbb du 75) a publié 1 bien (883).

Donc le nombre d'agence du 75 ayant publié des biens est de 2 (id_agence 1 et id_agence 2)
=> justement, je cherche la requete mysql qui me permet d'obtenir le nombre d'agence situé dans le 75 qui ont publié des biens.

Est-ce que vous pouvez-m'aider s'il vous plait ?

Merci d'avance, cordialement.






1 réponse

adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
13 juil. 2011 à 11:57
Bonjour,

As tu des connaissances en SQL ou aucunes ? car il suffit de faire un simple jointure et de compter les résultats.
0
JessayeDeTrouver Messages postés 270 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 4 mai 2012 47
13 juil. 2011 à 12:03
Bonjour,

"As tu des connaissances en SQL"
=> si quand meme, mais j'ai pas réussi à comibiner select count(*) et une jointure !
je m'arrache les cheveux depuis hier...
0
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
13 juil. 2011 à 12:30
Tu peux nous fournir ce que tu as essayé ? que l'on t'aide à comprendre ton erreur plutôt que de te fournir une requête prête à l'emploi ;)
0
JessayeDeTrouver Messages postés 270 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 4 mai 2012 47
13 juil. 2011 à 12:31
select count(*) from agence, bien where agence.id_agence=bien.id_agence and agence.departement='75' group by agence.id_agence

ou

select count(distinct id_agence) from agence, bien where agence.id_agence=bien.id_agence and agence.departement='75'
0
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
13 juil. 2011 à 12:37
La première ne peut aboutir car il faut absolument effectuer une projection de toutes les clauses du group by (enfin dans mes souvenirs)

La deuxième me semble correcte tu obtiens une erreur a son exécution ?
0