Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 31/12/2007, 11h52   #1
Invité régulier
 
Inscription : octobre 2007
Messages : 22
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 22
Points : 7
Points : 7
Par défaut [SQL] Lier 3 tables d'une base de données

Bonjour, voilà en gros comment fonctionne cette base de donnée:

entreprise
- entreprises_id
- Nom
- adresse

mots_clefs
- mots_clefs_id
- mot

mots_entreprises
- Clé
- entreprises_id
- mots_clefs_id


Le but etant d'afficher pour chaque entreprises ses mots clefs, mais j'aimerai pouvoir le faire avec seulement une seule requete est-ce possible ?

merci
Cordialement

Archalia
Archalia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2007, 12h28   #2
Membre confirmé
 
othmane bentalha
Inscription : mai 2006
Messages : 257
Détails du profil
Informations personnelles :
Nom : othmane bentalha
Âge : 25

Informations forums :
Inscription : mai 2006
Messages : 257
Points : 228
Points : 228
Bonjour, Pour lier les tables vous devez utiliser les jointures. Voici un cour dessus http://sql.developpez.com/sqlaz/jointures/. Et pour votre requête je crois que ça va fonctionner comme ça:
Code :
1
2
3
4
5
 
SELECT entreprise.nom, mots_clefs.mot
FROM entreprise
INNER JOIN mots_entreprises USING(entreprises_id)
INNER JOIN mots_clefs USING(mots_clefs_id)
Ce n'est qu'une suggestion à vous de créer votre requête par ce que je ne sais pas est ce que ça va marcher ou non.
othmane126 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 12h43   #3
Expert Confirmé
 
Avatar de Alain Defrance
 
Homme Alain DEFRANCE
Project Lead
Inscription : août 2007
Messages : 1 993
Détails du profil
Informations personnelles :
Nom : Homme Alain DEFRANCE
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Project Lead

Informations forums :
Inscription : août 2007
Messages : 1 993
Points : 2 919
Points : 2 919
Envoyer un message via MSN à Alain Defrance Envoyer un message via Skype™ à Alain Defrance
Citation:
mots_entreprises
- Clé
- entreprises_id
- mots_clefs_id
Si j'ai bien compris Clé dans cette table est inutile, puisque l'identifiant sera entreprises_id et a la fois mots_clefs_id.

Ensuite comme le dit othmane126 tu dois faire une jointure, mais pour l'exemple moi j'ai plus tendence a utiliser une autre manière de faire une jointure qui est la suivante :

Code :
1
2
3
4
5
6
 
SELECT entreprise.nom, mots_clefs.mot
FROM entreprise, mots_entreprise, mots_clefs
WHERE entreprise.entreprises_id = mots_entreprise.entreprises_id
AND mots_clefs.mots_clefs_id = mots_entreprise.mots_clefs_id
GROUP BY entreprise.nom
Le group by permet de regrouper tes mots clé par sur un critère (ici le nom de l'entreprise)
Alain Defrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h02.


 
 
 
 
Partenaires

Hébergement Web