写一个function create or replace function get_name( wv_parent_id in varchar2 ) return varchar2 is cursor test_data_c is select name from table where parent_id = wv_parent_id order by sno; lv_name varchar2(32767); begin for l_test in test_data_c loop lv_name := lv_name || l_test.name ||','; end loop; if(lv_name is null) then return ' '; else return substr(lv_name,1,length(lv_name) -1); end if; end get_name;查询的时候语句可以这样写 select a.parent_id, get_name(a.parent_id) from (select distinct parent_id from table) a order by parent_id
create or replace function get_name(
wv_parent_id in varchar2
) return varchar2
is
cursor test_data_c is select name from table where parent_id = wv_parent_id order by sno;
lv_name varchar2(32767);
begin
for l_test in test_data_c loop
lv_name := lv_name || l_test.name ||',';
end loop;
if(lv_name is null) then
return ' ';
else
return substr(lv_name,1,length(lv_name) -1);
end if;
end get_name;查询的时候语句可以这样写
select a.parent_id, get_name(a.parent_id) from (select distinct parent_id from table) a order by parent_id