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)