oracle列合并的实现
1。wmsys.wm_concat之前使用Oracle 10g:
wmsys.wm_concat分开的领域与价值
选择ID,wm_concat(名称)从tab_name组ID;
两。使用sys_connect_by_path
sys_connect_by_path(字段名,2场之间的连接符号),这里不使用逗号,Oracle将报告错误。如果你想使用它,你可以用替换来代替它。方法是替换(字段名称,原始字符,在使用此函数之前,必须在未使用之前设置一棵树。
三、Oracle 11g后可以使用Listagg
选择Listagg(ID,',')组内(订单ID)col_name从tab_name;
四。使用自定义函数:
创建或替换功能getrow(表1 VARCHAR2,ptdb1 VARCHAR2)返回VARCHAR2是
结果VARCHAR2(1000);
开始
在对电流(选择audit_code从sys_audit_column T2在表1 = =
t2.table_name和ptdb1 = T2。ptdb_name)环
结果:=结果| |恶狗。audit_code | | ',';
结束循环;
结果:= RTrim(结果,',');
返回(结果);
最后getrow;