我需要运行如下查询:
SELECT p.id, p.name,
(SELECT name
FROM sites s
WHERE s.id = p.site_id) AS site_list
FROM publications p
但我希望子选择返回一个逗号分隔的列表,而不是一列数据。这可能吗?如果可能的话,如何实现?
您可以使用组连接 http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)