为何多出一列,意思表达不清。只能这样解答。 create or replace function get(p_id in varchar2) return varchar2 is Result varchar2(100);
cursor rad_cursor(v_id varchar2) is select a2,a4 from abc where a1=v_id ; v_count Number; begin v_count:=0; Result:=''; for v_sor in rad_cursor(p_id) loop if v_count=0 then Result:=v_sor.a2||','||v_sor.a4; v_count:=v_count+1 else Result:=Result||','||v_sor.a2||','||v_sor.a4; end if; end loop; return(Result); end get; /select a1,get(a1) from abc group by a1;
select a1 from abc group by a1
select disticnt a1 from abc;disticnt:表示取出不重复的a1 的记录!
create or replace function get(p_id in varchar2) return varchar2 is
Result varchar2(100);
cursor rad_cursor(v_id varchar2) is
select a2,a4 from abc
where a1=v_id ;
v_count Number;
begin
v_count:=0;
Result:='';
for v_sor in rad_cursor(p_id) loop
if v_count=0 then
Result:=v_sor.a2||','||v_sor.a4;
v_count:=v_count+1
else
Result:=Result||','||v_sor.a2||','||v_sor.a4;
end if;
end loop;
return(Result);
end get;
/select a1,get(a1) from abc group by a1;