有主檔a﹕mat_no   char(10)   材料編號
        
明細檔b﹕mat_no   char(10)   材料編號
        size_no  char(2)資料如下:
a:   mat_no
      A001
      A002b:   mat_no   size_no
      A001      A1
      A001      A2
      A002      B1
      A002      B2能不能用一條SQL語句顯示為﹕  mat_no     size_no
   A001       A1 A2
   A002       B1 B2請各位大蝦幫忙啊﹗﹗﹗﹗

解决方案 »

  1.   

    declare
    v_size_no    varchar2(200):='';  
    cursor v_cursor_1 is select distinct mat_no from a order by mat_no;
    cursor v_cursor_2 is select distinct mat_no,size_no from a order by mat_no;
    begin
         for L_1 in v_cursor_1 loop
             for L_2 in v_cursor_2 loop
                 if L_2.mat_no=L_1.mat_no then
                    v_size_no:=v_size_no||' '||L_2.size_no; --对相同mat_no下的v_size_no进行拼接;
                 end if;
                 dbms_output.put_line('材料編號='||mat_no||'**size_no**'||v_size_no);
             end loop;   
         end loop; end;