表i_project_permit
----------------------------------------------------------------
| User | ProjectID | GroupCode | RoleCode | PermitCode |
----------------------------------------------------------------
| U001 | P00000001 | G01;G02;G03; | R01;R02;R03; | P01;P02;P03;|
----------------------------------------------------------------
| U001 | P00000002 | G02;G04; | R02;R04; | P02;P04; |
----------------------------------------------------------------
| U001 | P00000003 | G03;G04; | R03;R04; | P03;P04 |
----------------------------------------------------------------表i_role_permit
-----------------------------------------
RoleCode | GroupCode | PermitCode |
-----------------------------------------
| R01 | G01;G04; | P02;P05; |
-----------------------------------------
| R02 | G02;G04; | P02;P06; |
-----------------------------------------
| R03 | G03;G05; | P02;P07; |
-----------------------------------------
| R04 | G04;G05; | P02;P08; |
-----------------------------------------表i_permit_group
-----------------------------------------
GroupCode | PermitCode |
-----------------------------------------
| G01 | P01;P02 |
-----------------------------------------
| G02 | P03;P04 |
-----------------------------------------
| G03 | P05;P06 |
-----------------------------------------
| G04 | P07;P08 |
-----------------------------------------
| G05 | P09;P10 |
-----------------------------------------根据UserId 查询出它的权限例如:
UserId U001
PermitCode = i_project_permit(PermitCode) + i_role_permit(PermitCode和) + i_permit_group(PermitCode和)

解决方案 »

  1.   

    不怎么明白这个表设计的意思,可以在存储过程中过多个sql语句查询,用函数来对数据项的处理,
      

  2.   

    i_project_permit、 i_role_permit  关联字段 RoleCode 其中 i_project_permit的RoleCode(R01;R02;R03;)对应i_role_permit的三条数据同样i_project_permit、i_permit_group的关联字段 GroupCode 同样i_role_permit、i_permit_group的关联字段 GroupCode 
      

  3.   


    意思是根据一个userID 查出所有的PermitCode 吗?
      

  4.   

    http://blog.csdn.net/java3344520/archive/2010/07/13/5731758.aspx参考下这个,,