表A: 字段     数据
      cust_no  33063表B:  字段     数据1   数据2
      cust_no  33063   33063
      name     王一    赵二想得到的结果是:
      33063    王一|赵二
也就是想把两表中cust_no相同的把name合并成一个字段,并用|分隔      

解决方案 »

  1.   

    是不是这样的 ?表A cust_no 
      33063表B
    cust_no name
    33063   王一
    33063   赵二
       
      

  2.   

    如果是上面这样  只需要一个表B就可以了吧?
    create table tb1
    (
           cust_no varchar2(20)
    );insert into tb1 values ('33063'); 
    insert into tb1 values ('33064'); create table tb2

           cust_no varchar2(20),
           name varchar2(10)
    );
     
    insert into tb2 values ('33063','王一');
    insert into tb2 values ('33063','赵二');
    insert into tb2 values ('33063','张三');
    insert into tb2 values ('33064','李四');
    insert into tb2 values ('33064','王五');
    select tb2.cust_no,replace(wm_concat(name),',','|') name
    from tb2
    group by tb2.cust_no      cust_no   name
    -------------------------------
    1 33063 王一|赵二|张三
    2 33064 李四|王五
      

  3.   

    明白wm_concat这个函数了,但我按照你这样的写法在name字段里为什么显示<CLOB> ?
      

  4.   

    select cust_acct_no,conntr_name from b_m_manager;
    结果:
    330016389292     管成钢
    330016389292     张燕select cust_acct_no,wm_concat(conntr_name) 
    from b_m_manager
    group by cust_acct_no;
    结果:
    330016389292     <CLOB>
      

  5.   

    转换下呢?select cust_acct_no,to_char(wm_concat(conntr_name))  conntr_name
    from b_m_manager
    group by cust_acct_no;
      

  6.   

    转换后OK,不过为什么本是varchar还要转换。
    万分感谢!!!!!
      

  7.   


      不清楚是不是隐藏的CLOB类型  还有什么问题没呢