效果:
oracle:
一、10G以前使用WMSYS.WM_CONCAT
wmsys.wm_concat将字段的值用”,”来隔开。
select id,wm_concat(name) from tab_name group by id;
二、sys_connect_by_path
sys_connect_by_path(字段名, 2个字段之间的连接符号),这里的连接符号不要使用逗号,oracle会报错,如果一定要用,可以使用replace替换一下,方法如下 REPLACE(字段名,原字符,’,’)。这个函数使用之前必须先建立一个树,否则无用。
三、11G以后使用listagg
select listagg(id,’,’) within group (order by id) col_name from tab_name;
mysql:
SELECT t.`role_id` 应用, GROUP_CONCAT(t.`permission_id`) 市场 FROM role_permission t GROUP BY t.`role_id`;
SELECT * FROM role_permission;