Bonjour à tous,
Je coince pour une petite jointure afin d'afficher toutes les videos avec la note de celles-ci par vote des internautes.
En effet, avec ma requete actuelle, les vidéos qui s'affichent sont uniquement celle qui ont reçu minimum un vote.
Autrement dit, toutes les autres vidéos n'étant pas noté, ne sont pas affiché, et j'ai beau tourner la requete dans tout les sens, je ne trouve pas.
Mes table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE TABLE IF NOT EXISTS `ratings` ( `id` varchar(11) NOT NULL, `total_votes` int(11) NOT NULL default '0', `total_value` int(11) NOT NULL default '0', `used_ips` longtext, PRIMARY KEY (`id`) )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 CREATE TABLE IF NOT EXISTS `videos` ( `idv` smallint(6) NOT NULL auto_increment, `date` date NOT NULL default '0000-00-00', `titre` tinytext NOT NULL, `cat` tinytext NOT NULL, `duree` tinytext NOT NULL, `url_thumb` tinytext NOT NULL, `url_video` tinytext NOT NULL, `visu` smallint(6) NOT NULL default '0', PRIMARY KEY (`idv`) )
idv correspond à l'id numerique de chaque vidéo.
id dans la table ratings, correspond à l'id de la vidéo noté.
Ma requete SQL :
Une personne m'a dit d'utiliser IS NULL, j'ai fait ceci avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select a.total_votes, a.total_value, b.idv, b.titre, b.cat, b.duree, b.url_thumb, b.visu from ratings a, videos b WHERE a.id = b.idv
Mais cela ne fait rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part WHERE (a.id = b.idv OR a.id IS NULL)
Exemple concret :
2 vidéos dans la table vidéos, content pour IDV "23" et "54"
Dans ma table rating, j'ai une des deux vidéos de noté, disons la 23, j'ai donc un enregistreement de vote avec comme ID 23.
Cette vidéo s'affichera donc dans ma liste, mais pas la 54 qui ne possède pas d'enregistrement dans la table ratings car elle n'a pas de vote. Voila le dilème.
Merci !
bonne soirée
Partager