2016-09-22 82 views
1

我有兩個表。畫廊和聯接。聯接 - 從一個表中獲取行,然後獲取在另一個表中匹配的所有行?但是不應該重複第一個表匹配行

Gallery 
id | title 
1 | Dog Gallery 
2 | Cat Gallery 

Joins 
id | gallery_id | picture_id 
1 |  1  |  100 
2 |  1  |  101 
3 |  2  |  56 
4 |  1  |  102 

我想ID,畫廊標題從畫廊 - 其中id等於一個特定的ID,但還可以得到所有的行從哪裏連接庫ID等於一個特定的畫廊ID。

因此,如果上面的id是1.我想從畫廊和picture_ids 100,101和102從連接的狗畫廊。

現在的問題是畫廊標題應該來一次。 結果是標題=狗畫廊picture_id = 100,title =狗畫廊picture_id = 101,title =狗畫廊picture_id = 102我需要這樣的結果 title =狗畫廊picture_id = 100,picture_id = 101 and picture_id = 102

+0

添加預期的結果也是如此。 – Wanderer

回答

1

您可以使用GROUP_CONCAT知道所有的ID作爲字符串

SELECT G.*, GROUP_CONCAT(DISTINCT P.picture_id ORDER BY P.picture_id DESC SEPARATOR ',') 
FROM gallery as G 
LEFT JOIN pictures as P ON P.gallery_id = G.id 
GROUP BY G.id; 
+0

感謝它解決我的問題 –

相關問題