我想从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
答案 0 :(得分:1)
您好请使用以下查询,您可以使用 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