oracle中合并数据集(多行变一行),表a和表b之间为一对多的关系。查询表a的全部数据,并将表a对应的表b数据的某个项目合并为一行,
oracle中合并数据集(多行变一行),表a和表b之间为一对多的关系。
需求:
查询表a的全部数据,,并将表a对应的表b数据的某个项目合并为一行,以[,]分隔。
oracle function
create or replace function fun_getname (
id in number
) return varchar2
is
result_out varchar2(20000);
begin
declare cursor c_cur is select ctaskid from table_b where cid = id order by ctaskid;
begin
for rowstr in c_cur loop
result_out := result_out || ',' || rowstr.ctaskid;
end loop;
end;
result_out := substr(result_out, 2);
return result_out;
end;
/
查询数据的sql:
select a.id, a.name, a.flag, a.delete_flag, fun_getname(a.code) as sch from table_a a order by a.id, sch
oracle 合并表中的相同数据
本文永久更新链接地址: