我需要运行如下查询:
SELECT p.id, p.name,
(SELECT name
FROM sites s
WHERE s.id = p.site_id) AS site_list
FROM publications p
但我希望子选择返回一个逗号分隔的列表,而不是一列数据。这甚至可能吗?如果可以,怎么做?
最佳答案
您可以使用 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;
关于sql - MySQL 结果为逗号分隔列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/662207/