Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/07/2011, 11h48   #1
Membre du Club
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 51
Points : 51
Par défaut Bonjour, je n'arrive pas à trouver la bonne requète mysql

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 le 2ème inscrit 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.
totoAussi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 11h57   #2
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
Test cela

Code :
1
2
3
4
SELECT COUNT(*)
FROM agence
WHERE departement = 75
AND id_agence IN (SELECT id_agence FROM bien GROUP BY id_agence);
__________________
Pensez à la balise [CODE].
Aucune réponse aux questions par MP.
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 12h08   #3
Membre du Club
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 51
Points : 51
Bonjour gwharl,

merci pour ta réponse,

je vais tester.

Normal que je n'arrivais pas car je ne connaissait pas le IN.


Au début, je faisait

Code :
select count(*) from agence, bien where agence.id_agence=bien.id_agence and agence.departement='75' group by agence.id_agence
ou

Code :
select count(distinct id_agence) from agence, bien where agence.id_agence=bien.id_agence and agence.departement='75'
mais les 2 requètes ne marchaient pas.

Je vais tenter la chance que tu m'as donné.
totoAussi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 12h37   #4
Membre du Club
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 51
Points : 51
Merci beaucoup !

ça marche, heureusement que t'étais là.

Que la vie te récompense.


Résolu.
totoAussi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h03.


 
 
 
 
Partenaires

Hébergement Web