我想从 mysql 表中获取逗号分隔的列表,但与另一个表的用户名匹配:
任务:
--------------
id people_id
--------------
1 1,2
2 3,4
成员:
--------------
id username
--------------
1 James
2 Alan
3 Frank
4 John
这是我尝试过的:
$result = $db->query('
SELECT *,
group_concat(members.username)
FROM tasks
LEFT JOIN members
ON find_in_set(members.id, tasks.people_id)
')->fetchAll(PDO::FETCH_ASSOC);
我得到的结果是:
James
但我期望:
James, Alan
Frank, John
最佳答案
您好,请使用以下查询,您可以使用find_in_set作为逗号分隔值来检查它。
select t.id, group_concat(m.username)
from tasks t
join members m on find_in_set(m.id, t.peopleid)
group by t.id
关于mysql - 如何 LEFT JOIN 逗号分隔列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46814131/