我正在使用monetdb进行分析,该分析正在使用SQL Server 2008进行查询处理。
我有一个表角色,该角色在下面具有数据。
Emp ROLE
1 ROLE_1
1 ROLE_2
1 ROLE_3
2 ROLE_1
2 ROLE_2
3 ROLE_3
3 ROLE_4
我希望输出为
EMP ROLE
1 ROLE_1, ROLE_2, ROLE_3
2 ROLE_1, ROLE_2
3 ROLE_3, ROLE_4
我尝试了group_concat,但它说
否这样的汇总'group_concat'
我尝试的查询在
以下select
emp,
group_concat(role) as wo
from
roles
group by emp
group_concat
有其他选择吗?
编辑:
请阅读评论,我正在使用不支持group_concat和xml的monetDB。
monetDB具有R集成。您可以编写R函数。
检查此链接
r函数:
CREATE AGGREGATE str_aggre(val STRING) RETURNS STRING LANGUAGE R {
aggregate(val, by=list(aggr_group), FUN=toString)$x
};
sql命令:
select
emp,
str_aggre(role) as wo
from
roles
group by emp
这将起作用。