ORACLE GOURP BY 一个字段后,另一个字段值以逗号瓜分合并
ORACLE GOURP BY 一个字段后,另一个字段值以逗号分割合并
参考:http://www.jb51.net/article/20948.htm
/** * 功能: ORACLE GOURP BY 一个字段后,另一个字段值以逗号分割合并 * key_name : group by 字段名 * coname : 需要用逗号分割的字段名 * tname : 表名 * 示例: * select str_list('DEPT_ID', dr.dept_id, 'ROLE_ID','qx.LEAP_DEPT_ROLE') from qx.LEAP_DEPT_ROLE dr group by dr.dept_id */ create or replace function str_list(key_name in varchar2, key in varchar2, coname in varchar2, tname in varchar2) return varchar2 as type rc is ref cursor; str varchar2(4000); sep varchar2(2); val varchar2(4000); cur rc; begin open cur for 'select ' || coname || ' from ' || tname || ' where ' || key_name || ' = :x ' using key; loop fetch cur into val; exit when cur%notfound; str := str || sep || val; sep := ', '; end loop; close cur; return str; end;
1 楼
ppyymm000
2012-11-25
莫非你不知道有个叫wm_concat的函数?