Je cherche la bonne requète mysql

JessayeDeTrouver Messages postés 300 Statut Membre -  
adns Messages postés 1152 Statut Membre -
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

  1. adns Messages postés 1152 Statut Membre 153
     
    Bonjour,

    As tu des connaissances en SQL ou aucunes ? car il suffit de faire un simple jointure et de compter les résultats.
    0
    1. JessayeDeTrouver Messages postés 300 Statut Membre 47
       
      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
    2. adns Messages postés 1152 Statut Membre 153
       
      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
    3. JessayeDeTrouver Messages postés 300 Statut Membre 47
       
      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
    4. adns Messages postés 1152 Statut Membre 153
       
      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