表a:
u_id   name  c_id
1001 小一   2
1002 小二   3
1003 小三   2
1004 小四   1
1005 小五   3表b:
c_id  class
1     一班
2     二班
3     三班表c
class   names
一班    小四
二班    小一,小三
三班    小二,小五用表a,b关联显示表c的数据的sql语句

解决方案 »

  1.   

    select class,names from a,b on a.cid = b.cid;
      

  2.   


    select b.class,wm_concat(a.name) as names
      from a,b
     where a.c_id=b.c_id;
      

  3.   

    select b.class,c.names
      from a,b,c
     where a.c_id=b.c_id
    and b.class=c.class
      

  4.   

     select b.class,f.name from (select c_id,wmsys.wm_concat(name) name from a group by id) f,b where f.c_id=b.c_id;
      

  5.   

    select b.class,wm_concat(a.name)over(partition by b.class) as names
      from a,b
     where a.c_id=b.c_id;
      

  6.   

    select b.class,aa.name from b inner join (select c_id, wmsys.wm_concat(name) as name from a group by c_id) aa on aa.c_id=b.c_id 测试过,可以
      

  7.   

    请教下wmsys.wm_concat这个函数是神马意思
      

  8.   

    这个是oracle 10g新增的内容,是个聚合函数,将分组内指定列的内容用逗号分隔联接到一起,可以理解为字符串的加法。