如何采取从Oracle行用逗号
问题描述:
分离这就是我得到如何采取从Oracle行用逗号
parent MenuName Name menu2 type menuId menu2Id
--------------------------------------------------------------
26 General Currency Add 3 27 29
26 General Currency Delete 3 27 31
26 General Currency Update 3 27 30
26 General Currency View 3 27 28
26 General Country Add 3 32 34
26 General Country Delete 3 32 36
26 General Country Update 3 32 35
我想这样
MenuId MenuName Name Privilege
------------------------------------------------
27 General Currency Add,Delete,Update,View
32 General Country Add,Delete,Update
请与本
提前THX帮助。
答
你没有说明你的版本,所以我认为目前的版本(11.2):
select menuid, menuname, name, listagg(privilege, ',')
from menu
group by menuid, menuname, name
答
您可以使用listagg
功能同样喜欢后续 -
select MenuId,
MenuName,
Name,
listagg(menu2,',') within group (order by 1) Privilege
from table_name
group by MenuId,MenuName,Name
答
如果您不使用oracle 11gR2,那么还有其他方法 - 读取here
和XMLAGG方式:
select menuid, menuname, name, trim(xmlagg(xmlelement(e, privilege || ','))
.extract('//text()')) Privilege
from table_name
group by MenuId,MenuName,Name