Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在mysql中获取逗号分隔id的名称?_Php_Mysql - Fatal编程技术网

Php 如何在mysql中获取逗号分隔id的名称?

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,即 要获得预期结果: 这就是查询的样子(使

我使用的是两个表-研究所和类别。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,即


要获得预期结果:

这就是查询的样子(使用
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)