[英]MySQL from two tables with one left join
我有两个表几乎具有相同的列-视频列表和画廊列表。 然后,我想将其加入成员表,以便可以从成员ID中获取成员名称。 我最后得到的是按日期列排序的视频和画廊列表。 我知道如何单独进行操作,但无法将其组合使用。 以下是单独的查询:
//Video Query
SELECT videos.vid, videos.mid, videos.source, videos.category, videos.title, videos.description, videos.date_added, videos.status, members.name FROM videos LEFT JOIN members ON videos.mid=members.mid WHERE videos.status = 'published' ORDER BY date_added
//Gallery Query
SELECT galleries.vid, galleries.mid, galleries.directory, galleries.category, galleries.title, galleries.description, galleries.date_added, galleries.status, members.name FROM videos LEFT JOIN members ON videos.mid=members.mid WHERE galleries.status = 'published' ORDER BY date_added
但是我不能让它与两个表的左连接一起工作。 两个表使用同一列进行左连接,使用同一列进行排序。 我可以只查询一次还是必须查询两者并进行某种合并?
最终结果将是这样的:
- Video A by John
- Gallery A by John
- Video B by John
- Video C by Mary
等等
谢谢!
您可以结合查询并编写类似
SELECT
videos.vid,
videos.mid,
videos.source,
videos.category,
videos.title,
videos.description,
videos.date_added,
videos.status,
galleries.vid,
galleries.mid,
galleries.directory,
galleries.category,
galleries.title,
galleries.description,
galleries.date_added,
galleries.status,
members.name
FROM
videos
LEFT JOIN members
ON videos.mid = members.mid members.name
FROM
videos
LEFT JOIN members
ON videos.mid = members.mid
AND videos.status = 'published'
LEFT JOIN galleries
ON galleries.mid = members.mid
AND galleries.status = 'published'
ORDER BY galleries.date_added,videos.date_added
我希望这有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.