如何将两个表连接到联结表

时间:2016-07-18 08:14:23

标签: mysql sql-server join

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

角色

id - PK

role_type - VARCHAR

权限

id - PK

permission_type - VARCHAR

roles_permissions_dt

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

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

角色屏幕截图

roles

权限屏幕截图

permissions

我想加入角色表格,id 1权限表格id {{1}我的1。如何使用内连接实现此目的?

这是我的尝试查询。但仍然没有任何想法在我的联络表中加入这个。

roles_permissions_table

1 个答案:

答案 0 :(得分:1)

试试这个:

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 = ?;