我有一个用户表和另一个user_project表,其中包含用户的主键作为其外键,并且用户可以有一个或多个项目。 我需要加入这些表以获得特定用户的逗号分隔项目名称。
我已经尝试过类似的事情-
select group_concat(epi.project_name)
from user u
inner join employee_projects_info epi on epi.employee_id= u.id
group by epi.project_name
但是它并没有向我提供用户明智的项目列表。
答案 0 :(得分:0)
从epi.project_name
中删除group by
,在group by中添加epi.employee_id
select epi.employee_id,group_concat(epi.project_name)
from user u inner join employee_projects_info epi
on epi.employee_id= u.id
group by epi.employee_id
答案 1 :(得分:0)
按ID分组并合并所有项目名称:
select epi.employee_id, group_concat(epi.project_name)
from user u inner join employee_projects_info epi on epi.employee_id= u.id
group by epi.employee_id
答案 2 :(得分:0)
首先,尝试让所有用户以及他们的项目。您可以通过以下方式获取数据
select u.id,epi.id,epi.project_name
from users u
inner join employee_projects_info epi on epi.employee_id = u.id
要获取每个用户用逗号分隔的项目名称,您必须在上述查询中使用group by
。您可以在其他人的答案中找到该查询。