0

请参阅下表articlearticle_image

表文章

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

有人可以建议如何查询这两个表以得到上述结果吗?

谢谢

4

2 回答 2

4

使用 MySQL 内置函数GROUP_CONCAT, withLEFT 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;
于 2013-04-15T08:37:39.893 回答
0
"SELECT article.a_id, article.title, article_image.image FROM article
INNER JOIN article_iamge ON article.a_id = article_image.a_id
于 2013-04-15T08:39:45.517 回答