sqlserver 用户权限设计
一个用户拥有多个权限,下面是如何确保一个用户所有相关的 权限都能被正确显示,并且每种 type
都会显示在查询结果中。
例如,假设你有以下数据:
-
USERS
表: -
RolePermission
表: -
checkItems
表:
在这个示例中,userID = 1
对应的 roleID
是 101
,这使得查询会联接到 permissionID
为 201
和 202
的记录,然后得到所有对应的 type
。你的查询结果将显示所有相关的 type
,如下:
SQL 查询
结果解释
c.type
列将包含与userID = 1
相关的所有type
值。- 每个匹配的
type
将在结果集中作为独立的行显示。
如果 type
有多条记录,SQL Server 会自动将这些记录作为多行显示在结果集中。
示例输出
如果 checkItems
表中的数据是这样的:
对于 userID = 1
,结果集将显示:
每条 type
记录都单独列出,显示出所有符合条件的记录。
对于不可控的事情,保持乐观;
对于可控的事情,保持谨慎