Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.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 如何从一行中选择多个名称?_Php_Mysql_Codeigniter - Fatal编程技术网

Php 如何从一行中选择多个名称?

Php 如何从一行中选择多个名称?,php,mysql,codeigniter,Php,Mysql,Codeigniter,这是我的桌子看起来像 Table A----------------- ID . Color . IDDOCT 1 . Red . 3 2 . Blue . 2,4 3 . Cyan . 4 ------------------------ Table B----------------- ID . NAME 1 . HAARIS 2 . STEAVE 3 . DONY 4 . CLAYS ------------------------ 我想问的是,我能在表A的多个I

这是我的桌子看起来像

Table A-----------------
ID . Color . IDDOCT
 1 .   Red . 3
 2 .  Blue . 2,4
 3 .  Cyan . 4
------------------------

Table B-----------------
ID . NAME
 1 . HAARIS
 2 . STEAVE
 3 . DONY
 4 . CLAYS
------------------------

我想问的是,我能在表A的多个ID上获得表B的名称吗?我需要在表php上显示它。

这一个经过测试,工作正常:

$sql = 'SELECT table_a.color AS a_color, GROUP_CONCAT(table_b.name) AS b_names FROM table_a JOIN table_b ON FIND_IN_SET(table_b.id, table_a.iddoct) GROUP BY table_a.color';
$query = $this->db->query($sql);
$result = $query->result_array();

您可以尝试以下查询:

SQL:


我希望它能帮助您..

您必须阅读有关如何使用多个id加入字段的内容?查看可能的重复项
SELECT A.ID,A.Color, group_contact(B.NAME)
FROM A 
LEFT JOIN B ON FIND_IN_SET(A.IDDOCT, B.ID)