2017-09-05 69 views
1

我有兩個表幾乎相同的列 - 視頻列表和畫廊列表。然後,我想要將其加入到成員表中,以便從成員標識中獲取成員名稱。我最終得到的是按日期列排序的視頻和畫廊列表。我知道如何分開做,但不能把它合併起來。這裏是單獨的查詢:來自兩個表的MySQL與一個左連接

//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 

謝謝!

回答

0

您可以結合雙方的查詢和喜歡寫東西

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 

我希望這有助於。

+0

對不起,沒有工作。首先它返回了一個錯誤,所以首先從塊中移除,然後它返回合併到視頻行的畫廊行,這不是我想要的。 – Kat