[英]Get first related image from table while selecting all the records
我数据库中有4个表
表1:播放列表
id name user_id
1 name1 3
2 name2 3
表2:视频
id name media_id
1 vid1 4
2 vid2 5
表3:playlist_has_video
id playlist_id video_id
1 1 2
2 1 1
表4:媒体
id filename
4 test.png
现在,我想选择所有会话,其中user_id
= 3 +属于playlist.id
= 1的视频的第一个media.filename
请参阅表playlist_has_video
其中有2个视频属于session.id = 1,因此仅当有很多视频属于该播放列表时才选择第一个视频图像
我的愿望输出将是:
id session.name image
1 name1 test.png
问题很难理解。
您应该使用:
SELECT
pl.`id`,
pl.`name` AS 'session.name',
m.`filename` AS image
FROM `playlists` pl
INNER JOIN `playlist_has_video` plhv ON plhv.`playlist_id` = pl.`id`
LEFT JOIN `videos` v ON v.`id` = plhv.`video_id`
INNER JOIN `media` m ON m.`id` = v.`media_id`
WHERE pl.`user_id` = 3
ORDER BY m.`id`
LIMIT 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.