Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels 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 23/11/2010, 21h22   #1
Invité de passage
 
Inscription : février 2009
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 14
Points : 1
Points : 1
Par défaut Jointure N-N avec table intermédiaire

Bonjour à tous,

Je viens vers vous pour un petit problème.

Je dois réaliser une jointure pour transformer une relation NN et 1N.
Voici les tables

:Categories
idCat | NomCat
1 | Meubles
2 | Produits
3 | Accessoires

:Switch
id_cat | id_marque
1 | 1
1 | 3
2 | 1
3 | 2

:Marques
idMarque | nomMarque
1 | Marque1
2 | Marque 2
3 | Marque 3

Je définis qu'une catégorie peut appartenir à plusieurs marques et vice versa, le but étant de pouvoir connaitre le nombre de catégories dans une marque et le nombre de marques dans une catégorie.
Je sais qu'en créant cette table intermédiaire je simplifie la relation, mais je ne sais pas comment retourner par exemple toutes les marques qui appartiennent à une catégorie.

Pourriez-vous m'éclairer ?
aspiman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 23h02   #2
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Bonjour,

une jointure ne suffit pas ?

Code sql :
1
2
3
4
5
 
SELECT nomMarque FROM Marques AS M
INNER JOIN Switch AS S ON M.idMarque  = S.id_Marque  
INNER JOIN Categories AS C ON C.idCat = S.id_Cat 
WHERE C.idCat = 'un nombre de catégorie'
Madfrix 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 09h50.


 
 
 
 
Partenaires

Hébergement Web