三张表用于处理用户权限.【Group】表
    组ID      组名称      组描述
    ================================
    G01       Admin       管理员组别
    G02       Guest       业务员组别
    G03       User        操作员组【User】表:
    用户名    密码        隶属组
    =================================
    SWP       00E09237     Admin
    SWC       00E04C28     User
    ......【权限表】:
    组名      窗体    bAdd    bModify    bDel    bPrint   bOutput  .....
    ====================================================================
    Admin     入库单    1        1         1        1        1
    User      入库单    1        0         0        1        0
    Guest     入库单    0        0         0        0        0
    Admin     出库单    ......................现需要,根只有一用户名做为条件,使用一条SQL获取其权限记录集(在入库单中的..)需要得到的结果集:(1)    用户名    组名      窗体    bAdd    bModify    bDel    bPrint   bOutput  .....
    =======================================================================
    SWP       Admin     入库单    1        1         1        1        1或者只有(2):    窗体    bAdd    bModify    bDel    bPrint   bOutput  .....
    =======================================================================
    入库单    1        1         1        1        1不好意思,共两句(其实很类似).

解决方案 »

  1.   

    需要得到的结果集:(1)
    SELECT User.用户名, Group.组名称, 权限表.*
    FROM ([User] INNER JOIN [Group] ON User.隶属组 = Group.组名称) INNER JOIN 权限表 ON Group.组名称 = 权限表.组名 where user.用户名="SWP"
    需要得到的结果集:(2)
    SELECT 权限表.窗体,权限表.bAdd,权限表.bModify ........
    FROM ([User] INNER JOIN [Group] ON User.隶属组 = Group.组名称) INNER JOIN 权限表 ON Group.组名称 = 权限表.组名 where user.用户名="SWP"
      

  2.   

    select User.用户名,User.组名,权限表.窗体,权限表.bAd,权限表.bModify,权限表.bDel,权限表.bPrint,权限表.bOutput  form user inner join 权限表 on 权限表.组名=User.隶属组 where 
    user.用户名='SWP' and 权限表.窗体='入库单'select 权限表.窗体,权限表.bAd,权限表.bModify,权限表.bDel,权限表.bPrint,权限表.bOutput  form user inner join 权限表 on 权限表.组名=User.隶属组 where 
    user.用户名='SWP' and 权限表.窗体='入库单'
      

  3.   

    同意楼上,只需要一个INNER JOIN。