Inner joint sur des tables "en étoile"

ordiminnie Messages postés 220 Statut Membre -  
FCO911 Messages postés 22 Statut Membre -
Bonjour,

je débute en programmation et en sql....
je voudrais faire une view sur un ensemble de table reliées entre elles...mais j'ai appris à faire cela sur des tables reliées par un "chemin" c'est à dire qu'on part du bout du chemin puis on remonte en "inner jointant" les tables au fur et à mesure...

mais ici j'ai une table centrale :
Produit ( qui contient les FK des autres ainsi que quelque champs nom, description et prix)

puis les autres qui sont reliées à elle.
Matière (libellé + Id)
Forme (libellé + Id)
Couleur (libellé + Id)

je fais une view pour afficher tout ce beau monde côte à côte dans un joli tableau...mais je ne sais pas par laquelle commencer ni comment formuler mes "ON" étant donné que les FK sont toutes au même endroit...

peut être que ma question vous paraît un peu bête....merci de m'aider à y voir plus clair..;en attendant je vais essayer comme je peux !!

merci!

4 réponses

Mikey_UFC Messages postés 315 Statut Membre 1
 
Salut,

SELECT * FROM tableCentrale AS TC
INNER JOIN MATIERE AS M ON M.id=TC.id_matiere
INNER JOIN FORME AS M ON M.id=TC.id_forme
INNER JOIN COULEUR AS M ON M.id=TC.id_couleur


Si j'ai bien compris ce que tu veux faire, ça doit être ça.
-1
ordiminnie Messages postés 220 Statut Membre 17
 
merci beaucoup c'est bien ça que je cherchais, suffit de partir de la table centrale plutot que d'une ex-centrée et ça devient évident !
merci
-1
FCO911 Messages postés 22 Statut Membre
 
Je suis pas un grand professionnel mais je vais tout de même tenter de te répondre.

Donc tu as ta table Produit et tu souhaite ajouter les tables
Matière (libellé + Id)
Forme (libellé + Id)
Couleur (libellé + Id)

C'est bien cela ??

Dans ce cas je tenterais un :

Select *
from Produit
Inner join Matiere on produit.xx =matiere.xx
Inner join Forme on produit.xx = forme.xx
Inner join Couleur on produit.xx = couleur.xx

xx étant la relation entre tes tables

Essaye et dis moi si sa fonctionne ( et si c'est bien cela que tu voulais ;-) )
-1
FCO911 Messages postés 22 Statut Membre
 
Ah dsl,quelqu'un a été plus rapide que moi ;-)
-1