2016-08-19 121 views
0

例如:如何在一对多的关系检索的数据合并

table USER: ID      one 
table ROLE: WORK     many 

当我加盟选择,我喜欢数据:

ID  WORK 
1  cook 
1  pilot 
1  teacher 

现在我想要得到的数据格式,如:

ID    WORK 
1  cook pilot teacher 

我该怎么做? PS:Im使用MYSQL

+0

你应该看看'group_concat'。你在'role'表中是否有'userid',或者你是否正在尝试使用'cross join'生成'笛卡尔积'?有点不清楚...... – sgeddes

回答

0

您可以在SELECT之后使用DISTINCT消除重复值。

例如:

SELECT DISTINCT ID,WORK 
FROM TABLE 
WHERE ID IS NOT NULL 
ORDER BY ... 
0

你想用group bygroup_concat()

select r.user_id, 
     group_concat(r.work separator ' '), 
from roles r 
group by r.user_id; 
相关问题