我有两个mysql表,一个列出文章名称,另一个列出与每篇文章相关的作者,如下所示:
article_id title
=======================
1 art1
2 art2
3 blob
article_id name surname
=====================================
1 jack smith
1 jill jones
1 rob edgar
2 billy bryce
3 dick bonsor
3 jeff kucick
我正在尝试创建一个返回以下内容的查询:
article_id title author
=========================================================
1 art1 jack smith, jill jones, rob edgar
2 art2 billy bryce
3 blob dick bonsor, jeff kucick
我一直在查看group_concat和concat_ws,但我在尝试返回上述结果时失败了。如果你们有任何想法,我将非常感激!
非常感谢。
答案 0 :(得分:0)
select
a.article_id,
a.title,
group_concat(concat(p.name, ' ', p.surname)) as author
from
article a
inner join author p on p.article_id = a.article_id
group by
a.article_id,
a.title
或者,如果你想使用concat_ws:
select
a.article_id,
a.title,
group_concat(concat_ws(' ', p.name, p.surname)) as author
from
article a
inner join author p on p.article_id = a.article_id
group by
a.article_id,
a.title