sql - 如何连接具有多对多关系的表
问题描述
我正在尝试将四个表连接在一起,一个表是一个连接表,因为其中两个表具有多对多关系:
从用户中选择 DispalyName、从角色中选择名称和描述以及从权限中选择权限和描述的查询是什么。
我知道如何将两个表连接在一起,但我这样做的方法不适用于这个问题。
我尝试了以下查询,但似乎不喜欢它。
SELECT org.[User].[DisplayName], org.[Role].[Description], org.[Permission].[Description]
FROM org.[Role] rolee
JOIN org.[RolePermissions] rolePerms ON rolee.ID = rolePerms.RoleId
JOIN org.[Permission] perms ON rolePerms.PermissionId = perms.ID
WHERE [User].[email] LIKE '%myemail%'
解决方案
试试这个 - 似乎您忘记加入用户表
SELECT org.[User].[DisplayName], org.[Role].[Description], org.[Permission].[Description]
FROM org.[User] user Join org.[Role] rolee on user.RoleID = rolee.ID
JOIN org.[RolePermissions] rolePerms ON rolee.ID = rolePerms.RoleId
JOIN org.[Permission] perms ON rolePerms.PermissionId = perms.ID
WHERE org.[User].[email] LIKE '%myemail%'
推荐阅读
- xslt - 使用 xsl 来确定一个特定标签后面是否跟着另一个特定标签
- android - 我已经初始化了按钮,但它仍然说它是 Null
- julia - Julia MethodError:没有方法匹配 parseNLExpr_runtime(
- mysql - mysql order by 在这个请求中
- c# - 作为属性和对象类型的函数参数的表达式
- gwt - GWT Framework 启用控制台日志
- javascript - 如何在 Mongoose 排序结束时保持空值?
- wordpress - Wordpress 社交登录 Facebook 新用户未注册
- r - dplyr 过滤器中的特殊错误
- python - 我在哪里输出 .csv 文件跟踪数据?我不断收到 IOError: [Errno 13] Permission denied: 'C:\\Python27' 无论我尝试输出它