我有三个mysql表,每个
都有一个连接唯一ID123 Test
456 Another Test
123 1 16
456 1 16
上面显示了两集,其中集123
添加到了用户16
观看列表,而且集456
记录了由同一用户观看的集。{/ p>
我需要做的是构建一个返回所有Episodes
的查询,Watch List
和Watch Log
中的user_id = 16
显示状态针对剧集行的每个表格,或者显示null
我可以让一个表加入工作但是当我添加另一个井时,因此问题的原因。
我知道其他与此类似的问题,但在尝试了大部分答案后,我仍在努力获得理想的结果。
一个非常友好的帖子可以实现上述的查询示例吗?
由于
修改
SELECT
e.*,
wl.wali_status,
ws.wast_status
FROM
meta_episodes e
LEFT OUTER JOIN
app_watch_list wl
ON wl.wali_episode_id = e.epis_episode_id
AND wl.wali_user_id = 16
LEFT OUTER JOIN
app_watch_status ws
ON ws.wast_episode_id = e.epis_episode_id
AND ws.wast_user_id = 16
期望的结果
123 Test 1 NULL
456 Another… NULL 1
答案 0 :(得分:2)
这应该有效:
SELECT E.epis_episode_id,
E.epis_title,
WLI.wali_status,
WLO.wast_status
FROM `Episodes` AS E
LEFT JOIN `Watch List` AS WLI
ON E.epis_episode_id = WLI.wali_episode_id
AND WLI.wali_user_id = 16
LEFT JOIN `Watch Log` AS WLO
ON E.epis_episode_id = WLO.wast_episode_id
AND WLO.wast_user_id = 16
答案 1 :(得分:1)
SELECT e.*, wali_status, wast_status
FROM meta_episodes e
LEFT JOIN app_watch_list wl ON e.epis_epsiode_id = wl.wali_episode_id AND wali_user_id = 16
LEFT JOIN app_watch_status ws ON e.epis_epsiode_id = ws.wast_episode_id AND wast_user_id = 16