我的数据库中有两个表
发布表(id,title,data)和tags表(id,post_id,tags)
标签表中的示例数据
标签表中的示例数据:
id post_id tag
1 1 PHP
2 1 JS
3 2 C
4 2 C++
5 2 MySql
帖子表
id title date
1 post1 12/05/2015
2 post2 12/05/2016
我想要一个像这样的输出
示例输出:
id title tags
1 Post1 PHP, JS
2 Post2 C, C++,MySql
如何编写单个查询以获取此结果
目前我执行左连接
SELECT * FROM posts LEFT JOIN tags ON tags.post_id=posts.id GROUP BY tags.post_id
我知道group concat用于获取此结果,但我不知道如何使用它
答案 0 :(得分:1)
使用组GROUP_CONCAT以逗号分隔值获取结果:
SELECT posts.id
, posts.title
, GROUP_CONCAT(tags.tag)
FROM posts
LEFT
JOIN tags
ON tags.post_id = posts.id
GROUP
BY posts.id