Inner joint sur des tables "en étoile"

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!
--
Demain, le jamais d'aujourd'hui sera révolu !

Configuration: Dell Vostro 1700
Windows XP pro officiel
DD : 2x120 GB SATA
Processeur intel core 2 duo 7500 tpm
RAM 2 GB 
Firefox 2.0.0.11
Internet explorer 6
Configuration: Windows XP
Firefox 3.0.1

4 réponses

  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
    1. 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
      1. 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
        1. Ah dsl,quelqu'un a été plus rapide que moi ;-)
          -1