一尘不染

MySQL结果以逗号分隔的列表

mysql

我需要运行类似的查询:

SELECT p.id, p.name, 
       (SELECT name 
          FROM sites s 
         WHERE s.id = p.site_id) AS site_list
  FROM publications p

但是我希望子选择返回逗号分隔的列表,而不是数据列。这有可能吗?如果可以,怎么办?


阅读 310

收藏
2020-05-17

共1个答案

一尘不染

您可以使用GROUP_CONCAT执行该操作,例如

SELECT p.id, p.name, GROUP_CONCAT(s.name) AS site_list
FROM sites s
INNER JOIN publications p ON(s.id = p.site_id)
GROUP BY p.id, p.name;
2020-05-17