create or replace function GETID (v_name varchar2)
return varchar2
is
v_id varchar2(10);
v_idinfo varchar2(50);cursor crgetid is 
    select id
    from aa
    where name = v_name ;
begin
    open crgetid;
    LOOP
       fetch crgetid into v_id;
       EXIT WHEN crgetid%NOTFOUND ;
       v_idinfo := v_idinfo || v_id ;
    End Loop;
    close crgetid;
    return v_idinfo;     
end;

解决方案 »

  1.   

    select name,sum(number1),getid(name)
    from aa
    group by name
      

  2.   

    改一下函数:
    select name,sum(number),getid(name)
    from aa
    group by namecreate or replace function GETID (v_name varchar2)
    return varchar2
    is
    v_id varchar2(10);
    v_idinfo varchar2(50);cursor crgetid is 
        select id
        from z5
        where name = v_name ;
    begin
        open crgetid;
        LOOP
           fetch crgetid into v_id;
           EXIT WHEN crgetid%NOTFOUND ;
           v_idinfo := v_idinfo || ',' || v_id ;
        End Loop;
        close crgetid;
        return substr(v_idinfo,2);     
    end;