IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 MySQL Discussion :

sql : deux tables avec champ commun


Sujet :

MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 97
    Points : 47
    Points
    47
    Par défaut sql : deux tables avec champ commun
    Salut à tous,

    J'ai une question assez basique à vous poser.

    J'ai deux tables:

    La table Album et la table Image.

    Un album contient plusieurs images.

    Table Album

    id_album (CLE PRIMAIRE) (champ commun aux deux tables)
    album_name


    Table Image

    id_image (CLE PRIMAIRE)
    id_album (champ commun aux deux tables)
    name_image

    J'aimerais pouvoir afficher toutes les images liées à leur album respectif.
    Suis-je sur la bonne voie ? De quel type doit être mon champ id_album ?

    Merci

    John

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    Le champ id_album doit être un entier, dans les 2 tables.
    Pour afficher toutes les images d'un album, une simple jointure suffit. Jette un œil dans le tutoriel suivant, tout y est très bien expliqués : http://sqlpro.developpez.com/cours/sqlaz/jointures/

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 97
    Points : 47
    Points
    47
    Par défaut
    Salut,

    Merci de ta réponse. J'ai fais la modification du type en INT pour les deux champs id_album.

    J'ai une dernière question qui me chipotte. Le champ id_album est auto increment dans la table album mais pas dans la table image. Lorsque je ferai ma requete de type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT album_name, name_image
    FROM   T_album A
           JOIN T_image I
                 ON A.id_album = I.id_album
    les deux champs id_album n'auront jamais la même valeur. Je sais pas si je suis clair ou non ?

    De plus, quand je ferai un INSERT dans la table Image, l'id_album ne s'incrémentera pas, seul id_image s'incrémentera.

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Eh non... Quand tu crées une image, c'est à toi (ou à ton application qui crée la ligne en base dans la table image) de renseigner l'identifiant de l'album auquel appartient cette image.
    Cette partie ne peut pas être automatisée dans la base de données, c'est bien toi qui sait à quel album appartient chaque image et c'est donc à toi de le renseigner lors de l'INSERT dans la table des images.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 97
    Points : 47
    Points
    47
    Par défaut
    Ok. Parfait alors. C'est plus clair.

    Un tout grand merci.

    a++

    John

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fusionner deux tables avec champs différents
    Par CyberMen dans le forum Débutez
    Réponses: 6
    Dernier message: 22/08/2012, 18h32
  2. Réponses: 4
    Dernier message: 28/01/2010, 21h07
  3. Copie de table à table avec champ commun
    Par Grulf dans le forum Requêtes
    Réponses: 4
    Dernier message: 22/05/2008, 16h59
  4. Aide pour une requete, deux table, un champ commun.
    Par Space Cowboy dans le forum Requêtes
    Réponses: 1
    Dernier message: 15/03/2007, 10h59
  5. [MySQL] Requete sur 2 tables avec champs commun
    Par marcd dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/04/2006, 16h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo