具体问题就不说了,举个例子说明一下意思:假设我有2个表,记录之间是一对多,结构及数据如下:
T1:
K    F
----------
1    A
2    B
3    CT2:
K    S
----------
1    A1
1    A2
2    B1
2    B2
2    B3
3    C1我想形成如下格式的查询:
K    F    S
--------------
1    A    A1,A2
2    B    B1,B2,B3
3    C    C1请问该如何实现??

解决方案 »

  1.   

    这里有个实例,你看看
    http://blog.csdn.net/fatfoxz/archive/2010/01/06/5144680.aspx
      

  2.   

    SQL> select t1.k,t1.f,wm_concat(t2.s) s
      2  from t1,t2
      3  where t1.k=t2.k
      4  group by t1.k,t1.f;         K F          S
    ---------- ---------- ------------------------------
             1 A          A1,A2
             2 b          B1,B3,B2
             3 C          C1
      

  3.   


    --测试数据如下 和你的一样的 直接把上面的语句复制过去就可以用了
    SQL> select * from t1;         K F
    ---------- ----------
             1 A
             2 b
             3 CSQL> select * from t2;         K S
    ---------- ----------
             1 A1
             1 A2
             2 B1
             2 B2
             2 B3
             3 C16 rows selected.
      

  4.   

    with t1 as(
    select 1 k,'A' F from dual
    union all
    select 2 k,'B' F from dual
    union all
    select 3 k,'C' F from dual),
    t2 as(
    select 1 k,'A1' S from dual
    union all
    select 1 k,'A2' S from dual
    union all
    select 2 k,'B1' S from dual
    union all
    select 2 k,'B2' S from dual
    union all
    select 2 k,'B3' S from dual
    union all
    select 3 k,'C1' S from dual
    )
    select t1.k,F,wm_concat(s) from t1,t2 where t1.k = t2.k group by t1.k,f
      

  5.   

    上网查了,wm_concat是10g的函数,我这里是9i...郁闷啊...