我现有一个表:table1:
id      字段1    字段2
1        A       abc
2        A       bcd
3        B       ab
4        B       cd查询出来需要实现成id     字段1     字段2
1       A        abcbcd
2       B        abcd请高手帮忙!

解决方案 »

  1.   

    --创建测试环境
    create table t1(
    f1 varchar2(10),
    f2 varchar2(10)
    );insert into t1 
    select 'A','asv' from dual union all
    select 'A','asv' from dual union all
    select 'B','asdv' from dual union all
    select 'B','av' from dual;
    select * from t1;--创建合并函数create or replace function t1_fun(af1 varchar2)
    return varchar2
    is
      type typ_t1 is ref cursor;
      Aresult varchar2(100) := '';
      ATemp varchar(10);
      cur_t1 typ_t1;
    begin
      open cur_t1 for af1;
      loop
        fetch cur_t1 into ATemp;
        exit when cur_t1%notfound ;      AResult := AResult || ATemp;
      end loop;
      return AResult;
    end;
    --执行查询得到需要结果
    select f1,t1_fun('select f2 from t1 where f1 = '''||f1||'''') f2 from t1;