用一个SQL太难,写个很小的STORED PROCEDURE 可以解决问题光说不练之龙飞虎

解决方案 »

  1.   

    请楼主同一贴就不要发行两次.create or replace function get_name(p_id in varchar2) return varchar2 is
     Result varchar2(100);
     cursor c1_sor is
     select STAFF_ID  from cust_total_tmp where REGION_ID=p_id;
     cursor c2_sor(pid varchar2) is
     select STAFF_NAME from staff where STAFF_ID=pid;
     v_count Number;  
    begin
    v_count:=0;
    Result:='';
       for v1_sor in c1_sor loop
       for v2_sor in c2_sor(v1_sor.STAFF_ID) loop
        if v_count=0 then
           Result:=v2_sor.STAFF_NAME;
           v_count:=v_count+1;
         else
          Result:=Result||'/'||v2_sor.STAFF_NAME;
         end if;
        end loop; 
        end loop;
       return(Result);
    end get_name;
    /select REGION_NAME,get_name(REGION_ID) STAFF_NAME from cust_total_tmp;