我的数据库中有两个表,videos
和watched
。videos
表包含视频及其元数据,其主键是video_id
。watched
表包含有关用户已观看的视频的信息。它的关键是video_id
+user_id
。
我想创建一个查询,它将返回来自videos
表的所有视频,并添加一个值为true
的列,用于存在于watched
表中的视频。
伪代码可以如下所示:
SELECT a,b,c, IF(video_is_watched, true, false) AS watched FROM videos
LEFT JOIN watched ON watched.user_id = "user-id"
谢谢你抽出时间
最佳答案
使用case语句检查w.video_Id中的空值不观看时将为空。
SELECT V.a, v.b, v.c,
case when w.video_ID is null then FALSE else TRUE end as UserWatched
FROM videos v
LEFT JOIN watched w
ON V.video_ID w.Video_ID
and w.user_id = "user-id"
关于mysql - 建立连接时,MySQL设置变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29994061/