2013-04-15 84 views
0

表中的值請參考下表articlearticle_image查詢的兩個表和CONCAT在MySQL

表文章

id a_id title 
1 1 abc 
2 2 def 
3 3 ghi 
4 4 jkl 
5 5 mno 

表article_image

id a_id image 
1 1 a.jpg 
2 1 b.jpg 
3 1 c.jpg 
4 3 d.jpg 
5 3 e.jpg 
6 3 f.jpg 
7 4 g.jpg 
8 4 h.jpg 

我試着查詢

SELECT article.a_id, article.title, article_image.image FROM article JOIN article_image ON (article.a_id = article_image.a_id) GROUP BY article_image.thumbnail

但結果不是我想要的東西,在預期的結果應該是:

a_id tilte image 
1 abc a.jpg, b.jpg, c.jpg 
2 def 
3 ghi d.jpg, e.jpg, f.jpg 
4 jkl g.jpg, h.jpg 
5 mno 

有人能告訴我如何查詢這兩個表如上導致?

感謝

+0

by子句刪除該組,並使用左加入而不是加入,然後看看結果是什麼。 –

回答

4

使用MySQL內置函數GROUP_CONCAT,與LEFT JOIN以包括曾在其他表中沒有圖片的文章:

SELECT 
    article.a_id, 
    article.title, 
    GROUP_CONCAT(article_image.image SEPARATOR ',') AS images 
FROM article 
LEFT JOIN article_image ON article.a_id = article_image.a_id 
GROUP BY article.a_id, 
     article.title; 
+0

偉大的作品! –

0
"SELECT article.a_id, article.title, article_image.image FROM article 
INNER JOIN article_iamge ON article.a_id = article_image.a_id