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

Langage SQL Discussion :

Problème de jointure


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 41
    Par défaut Problème de jointure
    Bonjour,

    Je sèche actuellement sur un problème je pense assez facile mais n'ayant pas pratiqué depuis un moment je suis bloqué.

    Pour faire "simple", j'ai 3 tables :

    VIDEOS
    - id_video
    - titre

    ACTEURS
    - id_acteur
    - nom

    ACTEURS_POUR_VIDEO
    - id_video
    - id_acteur

    Je cherche à obtenir la liste de tous les acteurs existants dans la table ACTEURS avec un flag pour ceux participant par exemple dans la vidéo ayant id_video = 2.

    J'ai commencé avec cette requette :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     SELECT A. * , APV.id_video
    FROM acteurs A
    LEFT JOIN acteurs_pour_video APV ON APV.id_acteur = A.id_acteur
    WHERE id_video =2
    Et dans ce cas je n'obtiens que les acteurs jouant dans la video 2 (id_video =2).

    Si j'utilises la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     SELECT A. * , APV.id_video
    FROM acteurs A
    LEFT JOIN acteurs_pour_video APV ON APV.id_acteur = A.id_acteur
    J'ai donc tous les acteurs de la table ACTEURS avec l'id_video différent de NULL lorsqu'un acteur joue dans une vidéo mais NULL lorsqu'aucun acteur ne joue dans aucune vidéo. Le problème est que je récupère plusieurs fois le même nom si acteur joue dans plusieurs vidéo alors que je le voudrais qu'une fois.

    Je ne sais pas si je suis clair mais si vous voyes une solution... je suis preneur !

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    le probleme c'est que tu ne dis pas ce que tu veux obtenir, donc dur dur de te conseiller :-/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 41
    Par défaut
    Citation Envoyé par chatlumo Voir le message
    Je cherche à obtenir la liste de tous les acteurs existants dans la table ACTEURS avec un flag pour ceux participant par exemple dans la vidéo ayant id_video = 2.
    Donc imaginons que j'ai 4 acteurs :
    Jean (1)
    Patrick (2)
    Pierre (3)
    Paul (4)

    3 vidéos :
    Vid1 (1)
    Vid2 (2)
    Vid3 (3)

    Dans Vid1 (1), jouent Patrick (2) et Paul(4).

    Je veux lister tous les acteurs existants (soit les 4) avec un flag m'indiquant par exemple que pour Vid1 Patrick et Paul jouent dedans. Bien sûr ma requête incluera une clause définissant un id_video à la fois.

    Est-ce plus clair ?

    Merci.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 41
    Par défaut
    La réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     SELECT A. * , APV.id_video 
    FROM acteurs A 
    LEFT JOIN acteurs_pour_video APV ON APV.id_acteur = A.id_acteur AND APV.id_video = 2

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

Discussions similaires

  1. Problème de jointure de tables
    Par AurelBUD dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/04/2005, 16h27
  2. Probléme de jointure
    Par Ajrarn dans le forum Langage SQL
    Réponses: 14
    Dernier message: 24/02/2005, 14h57
  3. Vraisemblable problème de jointure
    Par pimousse76 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 15h34
  4. [MS Access] Problème de jointure
    Par Erakis dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/02/2005, 21h15
  5. Problème de jointure ?!
    Par ebaynaud dans le forum Langage SQL
    Réponses: 8
    Dernier message: 03/11/2004, 11h27

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