Php 如何在mysql中获取逗号分隔id的名称?
我使用的是两个表-研究所和类别。Institute表的类别id具有逗号分隔的值,如1,2。我想在MySQL查询结果中获得这些逗号分隔的值 我使用以下查询:Php 如何在mysql中获取逗号分隔id的名称?,php,mysql,Php,Mysql,我使用的是两个表-研究所和类别。Institute表的类别id具有逗号分隔的值,如1,2。我想在MySQL查询结果中获得这些逗号分隔的值 我使用以下查询: SELECT i.*, c.category_name FROM institute i, category c WHERE FIND_IN_SET(c.category_id, i.institute_category) 这显示了以下结果: 我在类别中寻找逗号分隔的值,不需要重复的机构id,即 要获得预期结果: 这就是查询的样子(使
SELECT i.*, c.category_name FROM institute i, category c WHERE FIND_IN_SET(c.category_id, i.institute_category)
这显示了以下结果:
我在类别中寻找逗号分隔的值,不需要重复的机构id,即
要获得预期结果: 这就是查询的样子(使用
groupby
和groupconcat
)
使用
group\u concat
功能:
SELECT i.*, group_concat(c.category_name) FROM institute i, category c
WHERE FIND_IN_SET(c.category_id, i.institute_category)
使用group by和group concat子句您可以在机构id上使用group by子句。规范化数据库。下面是完整的描述,以了解您正在做什么。我可以应用group_concat和group by多个列吗?是的,您可以在多个列上应用group_concat,但可以单独应用
SELECT i.*, group_concat(c.category_name) FROM institute i, category c
WHERE FIND_IN_SET(c.category_id, i.institute_category)