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

bqucvtff  于 2021-06-15  发布在  Mysql
关注(0)|答案(2)|浏览(282)

这是我的table看起来像

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上显示。

1zmg4dgp

1zmg4dgp1#

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

$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();
wooyq4lh

wooyq4lh2#

您可以尝试此查询:
sql语句:

SELECT A.ID,A.Color, group_contact(B.NAME)
FROM A 
LEFT JOIN B ON FIND_IN_SET(A.IDDOCT, B.ID)

希望对你有帮助。。

相关问题