[英]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.