a表role:rolename  roledesc
 组1      
 组2
b表user:
userid  role
zjx     组1,组2
zjs     组1
jal     组2
sds     组2我现在想要的结果是组1和组2的总用户各是多少
比如
组1   2名
组2   3名

解决方案 »

  1.   

    select t.role, count(*) 
    from   user t
    group by t.role
      

  2.   

    to LinZhongBao() :
    注意user表里的rule是个varchar2,可能包含多个值
      

  3.   

    INSERT INTO t_Test 
    SELECT *
     FROM  
    (
        SELECT f_NodeID,f_ParentID FROM t_Test 
        WHERE f_NodeID !=1
        START WITH f_NodeID = 1    
        CONNECT  BY f_ParentID = PRIOR f_NodeID  
        UNION ALL 
        SELECT 
            f_NodeID ,
            10         --bB节点ID
         FROM t_Test
         WHERE f_NodeID = 1
    )
      

  4.   

    必须先将逗号分割的字符串变成对应的记录, 再进行group by..
      

  5.   

    试试下面的语句把
    select count(userid) from user,role 
    where instr(user.role,role.rolename)>0
      

  6.   

    select role.rolename,count(userid) from user,role 
    where instr(user.role,role.rolename)>0
    group by role.rolename
      

  7.   

    sbaz(万神渡劫) 可解,有没有更好的办法了?
      

  8.   


    select * 
    from role a , user b
    where a.role like '%'||b.rolename||'%'