如何将GROUP_CONCAT添加到LEFT JOIN查询?

时间:2011-01-19 20:50:41

标签: mysql join group-by group-concat

我有这个查询(和结果):

select articles.article_id, articles.article_text, article_photos.photo_filename
from
  articles
left join article_photos
on article_photos.article_id=articles.article_id

>>> results
1,some_text,photo1.jpg
1,some_text,photo2.jpg
1,some_text,photo3.jpg

如何将GROUP_CONCAT合并到此,以便我得到:

>>> results

1,some_text,photo1.jpg
NULL,NULL,photo2.jpg
NULL,NULL,photo3.jpg

基本上,我有一个包含文章的表格,以及与图像相关的表格。一篇文章可以有多个属于它的图像,所以我试图在while循环中在屏幕上打印它,并且当有多个图像时不希望文本反复重复。

1 个答案:

答案 0 :(得分:1)

select articles.article_id, articles.article_text, group_concat(article_photos.photo_filename)
    from articles
        left join article_photos
            on article_photos.article_id=articles.article_id
    group by articles.article_id, articles.article_text

将返回

1    some_text    photo1.jpg,photo2.jpg,photo3.jpg

这与您在预期结果中显示的不完全相同。这是你要的吗?