人员表关联角色表,一个人员对应多个角色
能用一个sql查出如下结果吗?
人员1    角色1,角色2
人员2    角色3,角色5
人员3    角色1,角色2,角色3
人员4    角色1,角色5
从另一个表中根据id选出3个字段来插入另一个表
insert into t1(c1,c2,c3) values(select c1,c2,c3 from c1 from t2 where id=1)
这个要怎么写,必须要写3次select吗?求教。

解决方案 »

  1.   

    第一个就是行转列
    第二个没看懂
    insert into t2(c1,c2,c3)
    select c1,c2,c3
    from t2
    where id=1
    这样子不就行了吗?
      

  2.   

    select * from test_role;
    ROLE_ID    USER_ID
    ---------- ----------
    A1         A
    A2         A
    A3         A
    B1         B
    B2         B
    C1         C
    A1         B
    A1         C
    B1         D9 rows selected1.select user_id,wmsys.wm_concat(role_id) as role_id from test_role t group by user_id;
    USER_ID    ROLE_ID
    ---------- --------------------------------------------------------------------------------
    A          A1,A2,A3
    B          B1,A1,B2
    C          C1,A1
    D          B12.理解能力差没看懂抱歉