比如
col1    col2
A         B
B        C
C        D
E        F
F        G
H       J
最后合并成下面的行
1     A,B,C,D
2     E,F,G
3     H,J

解决方案 »

  1.   


    比如下面,第2行的第1列=第1行的第2列,就把第2行与第1行合并成一行,下面行类似
    col1    col2
    A         B
    B        C
    C        D
    E        F
    F        G
    H       J
      

  2.   

    select rownum,c.res from
    (select max(b.root)||','||wmsys.wm_concat(b.col2) res from 
    (select connect_by_root(a.col1) root,a.col2
    from tt a
    connect by prior a.COL2=a.COL1
    order by a.COL1,a.col2) b
    where b.root not in (select col2 from tt  )
    group by b.root
    order by b.root) c
      

  3.   

    select row_number() over(order by rt) id, ph
      from (select ltrim(sys_connect_by_path(col1, ','), ',') ph,
                    connect_by_root(col1) rt,
                    row_number() over(partition by decode(connect_by_isleaf, 1, col2) order by level desc) rk
               from t
              where connect_by_isleaf = 1
             connect by col1 = prior col2)
     where rk = 1