主表中有一条记录 A  B  ,A字段为主键
对应的子表中有两条记录 A  C,  A  D
想通过SQL得到这样的结果
A  B  C,D
请问这怎么实现?

解决方案 »

  1.   

    create table t1(col1 varchar2(10),col2 varchar2(10)) 
    create table t2(col1 varchar2(10),col2 varchar2(10))
    insert into t1 values ('A','B')
    insert into t2 values ('A','C')
    insert into t2 values ('A','D')CREATE OR REPLACE function CSDN.getStr(col varchar2)
    return varchar2
    as
    cursor t is 
    select col2 from t2 where col1 = col;
    str varchar2(20);
    str2 varchar2(2000);
    begin
      str2 := '';
       open t;
    LOOP
    FETCH t INTO str;
    EXIT WHEN t%NOTFOUND;
        str2 := str2 || str || ',';
    end loop;
       close t;
       return substr(str2,0,length(str2)-1);
    end;select col1,col2,getstr(col1) as col3
    from t1
      

  2.   

    问题不是太清楚 不过你可以参考下
    http://community.csdn.net/Expert/topic/4161/4161213.xml?temp=.7041895
      

  3.   

    http://community.csdn.net/Expert/topic/4161/4161213.xml?temp=.7041895
    仔细研究研究,这个帖子可以实现你的要求。