表A
字段:
PKID
name
==================
表B
字段:
PKID
pk_a(表A外键)
msg
===================
A 与 B 是1对多例如:A表有数据1 qqq
2 BBBB表有数据
213213213213 1 测试1
234567890767 1 测试2
456789044444 2 测试3
777732132132 2 测试4现在要呈现的结果为:
qqq 测试1,测试2
BBB 测试3,测试4

解决方案 »

  1.   


    select A.NAME, wmsys.wm_concat(B.MSG) MSG  
    from A,B
    WHERE
    A.PKID=B.PK_A
      

  2.   

    后面还需要一点group by A.NAME
      

  3.   

    报错了
    >[错误] 脚本行:1-4 ---------------------------------------
     ORA-00937: 不是单组分组函数
     Script line 1, statement line 1, column 7  [执行:11-12-12 上午11时34分44秒][执行:0/ms] 
      

  4.   

    select a,max(substr(sys_connect_by_path(b,','),2)) from (
    select a,b,row_number() over(partition by a order by b) rn from (select a.name a,b.name b,rownum rn from a,b where a.pkid=b.pkid1)
    start with rn=1
    connect by rn=rownum
    )
    start with rn=1
    connect by rn-1=prior rn
    group by a写的有点问题,但是要求应该满足了