0
使用MySQL,我会想加入多个多到许多由给定用户ID表(users_roles和roles_permissions)。 但是我的查询有些问题,因为它给出了如下的错误。SQL加入多个多到多个表
#1054 - 在未知列'users_roles.role_id '的条款'
SELECT roles.name, permissions.name
FROM users_roles, roles_permissions
JOIN roles ON users_roles.role_id = roles.id
JOIN permissions ON roles_permissions.permission_id = permissions.id
WHERE users_roles.user_id = 1 AND roles_permissions.role_id = roles.id
内的phpMyAdmin我的表结构如下:
Table users_roles
id | user_id | role_id
Table roles_permissions
id | role_id | permissions_id
Table roles
id | name | description
Table permissions
id | name | description
不能混合旧隐式和显式连接语法。 –
那么,你可以混合使用新旧语法,但最好不要(显式Join更加限制哪些列可以在ON中使用):'FROM users_roles JOIN roles on users_roles.role_id = roles.id JOIN roles_permissions ON roles_permissions.role_id = roles.id JOIN权限ON roles_permissions.permission_id = permissions.id WHERE users_roles.user_id = 1' – dnoeth
您有链接,我可以使用JOINS检查“新”语法样式吗? – CodeWhisperer