我有点卡在这里,将两个表连接到联结表中。我有3个表的角色和权限链接到我的联结表Roles_permissions_dt。

角色

id - PK

role_type - VARCHAR


权限

id - PK

permission_type - VARCHAR


role_permissions_dt

id - PK
role_id - FK REFERENCES(roles)
permission_id - FK REFERENCES(permissions)


这些是我在角色和权限表中创建的值。

角色截图

mysql - 如何将两个表内部联接到联结表-LMLPHP

权限截图

mysql - 如何将两个表内部联接到联结表-LMLPHP

我想将id1的角色表和id1的权限表加入我的roles_permissions_table。如何使用内部联接实现此目的?

这是我的尝试查询。但是仍然不知道将其加入我的联结表中。

SELECT roles.id, permissions.id FROM roles INNER JOIN permissions;

最佳答案

尝试这个:

SELECT
*
FROM roles_permissions_dt RP
INNER JOIN roles R ON RP.role_id = R.id
INNER JOIN permissions P ON RP.permission_id = P.id;


您也可以使用WHERE子句过滤数据,如下所示:

SELECT
*
FROM roles_permissions_dt RP
INNER JOIN roles R ON RP.role_id = R.id
INNER JOIN permissions P ON RP.permission_id = P.id
WHERE RP.role_id = ? AND RP.permission_id = ?;

关于mysql - 如何将两个表内部联接到联结表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38431687/

10-13 05:21