create or replace function get(p_id in varchar2) return varchar2 is Result varchar2(100); cursor rad_cursor(v_id varchar2) is select distinct c from tabl where a=v_id ; begin Result:=''; for v_sor in rad_cursor(p_id) loop Result:=Result||v_sor.c;
end loop; return(Result); end get; /select a,get(a) d from tab1 group by a;
Result varchar2(100);
cursor rad_cursor(v_id varchar2) is
select distinct c from tabl
where a=v_id ;
begin
Result:='';
for v_sor in rad_cursor(p_id) loop
Result:=Result||v_sor.c;
end loop;
return(Result);
end get;
/select a,get(a) d from tab1 group by a;
用MAX(DECODE())来考虑,分析函数也可以解决的,RANK()。自己查资料吧