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 !