sqlserver 用户权限设计

一个用户拥有多个权限,下面是如何确保一个用户所有相关的 权限都能被正确显示,并且每种 type 都会显示在查询结果中。

例如,假设你有以下数据:

  • USERS 表:

     

  • RolePermission 表:

     

  • checkItems 表:

     

在这个示例中,userID = 1 对应的 roleID101,这使得查询会联接到 permissionID201202 的记录,然后得到所有对应的 type。你的查询结果将显示所有相关的 type,如下:

 

SQL 查询

 

结果解释

  • c.type 列将包含与 userID = 1 相关的所有 type 值。
  • 每个匹配的 type 将在结果集中作为独立的行显示。

如果 type 有多条记录,SQL Server 会自动将这些记录作为多行显示在结果集中。

示例输出

如果 checkItems 表中的数据是这样的:

 

对于 userID = 1,结果集将显示:

 

每条 type 记录都单独列出,显示出所有符合条件的记录。

posted @ 2024-09-06 14:50  Mr웃ZHANG  阅读(5)  评论(0编辑  收藏  举报