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 :
Code : Tout sélectionner
VIDEOS :
CREATE TABLE `videos` (
`id_video` int(11) NOT NULL auto_increment,
`titre` varchar(100) NOT NULL,
PRIMARY KEY (`id_video`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
ACTEURS :
CREATE TABLE `acteurs` (
`id_acteur` int(11) NOT NULL auto_increment,
`nom` varchar(100) NOT NULL,
PRIMARY KEY (`id_acteur`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
ACTEURS_POUR_VIDEO :
CREATE TABLE `acteurs_pour_video` (
`id_video` int(11) NOT NULL,
`id_acteur` int(11) NOT NULL,
UNIQUE KEY `unique` (`id_video`,`id_acteur`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;J'ai commencé avec cette requette :
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 : Tout sélectionner
SELECT A. * , APV.id_video
FROM acteurs A
LEFT JOIN acteurs_pour_video APV ON APV.id_acteur = A.id_acteurJe ne sais pas si je suis clair mais si vous voyes une solution... je suis preneur !