Mysql 如何将查询结果放入一列中以逗号分隔的列表中

Mysql 如何将查询结果放入一列中以逗号分隔的列表中,mysql,sqlite,Mysql,Sqlite,表结构: articles (id, content) article_tags (article_id, tag_id) tag (id, name) 要按任何标签选择所有文章,请说出我正在使用的“TAG1” SELECT a.* FROM (SELECT at.article_id AS id FROM article_tags at JOIN tags t ON t.Id = at.tag_id WHERE t.name = 'TAG1') a1

表结构:

articles (id, content)
article_tags (article_id, tag_id)
tag (id, name)
要按任何标签选择所有文章,请说出我正在使用的“TAG1”

SELECT a.*
FROM  
    (SELECT at.article_id AS id
     FROM article_tags at
     JOIN tags t ON t.Id = at.tag_id
     WHERE t.name = 'TAG1') a1
JOIN articles a USING (id);
输出:

COLUMNS of articles after above query since used a.*
----------------
| id | content |  
----------------
目标:

在上面运行时,我得到了所有按“TAG1”过滤的文章列

但由于一篇文章可能有多个标记,我希望在返回的结果中增加一列

因此,我返回的列将是

| id | content |  using_tags |
+----+---------+-------------+ 
|  1 | content | TAG1,TAG2   |
一个简单的方法

SELECT a.*, GROUP_CONCAT(t2.name) AS using_tags
FROM (...inner query unchanged...) a1
INNER JOIN articles a USING (id)
LEFT JOIN article_tags at2 ON (a.id = at2.article_id)
LEFT JOIN tags t2 ON (t2.Id = at2.tag_id)
GROUP BY a.id
ORDER BY x

这经常被问到。如何将查询结果放入逗号分隔的列表中。我需要知道使用_tags列可以获得哪些附加语法。可以用逗号分隔,但我对语法感兴趣抱歉,我不明白您所说的
是什么意思,我可以使用_tagscolumn
获得哪些附加语法。对于上面我发布的表,您能否发布与我的目标相匹配的建议查询代码。我不擅长sql语法。正如我所说,这个问题在Stackoverflow上已经被问过很多次了。这里有大量的语法示例,所以。最好的简单答案。谢谢