提问者:小点点

Mysql与分组依据的联接查询


我的数据库中有两个表

posts表(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

我知道组concat用于获得此结果,但我不知道如何使用它


共1个答案

匿名用户

使用组group_NCAT以逗号分隔的值获取结果:

SELECT posts.id
     , posts.title
     , GROUP_CONCAT(tags.tag) 
  FROM  posts  
  LEFT 
  JOIN tags 
    ON tags.post_id = posts.id  
 GROUP 
    BY posts.id