Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 权限系统(用户、组、特殊权限)_Sql_Join_Permissions - Fatal编程技术网

Sql 权限系统(用户、组、特殊权限)

Sql 权限系统(用户、组、特殊权限),sql,join,permissions,Sql,Join,Permissions,下面的场景:我目前正在尝试使用连接等方式使用MySQL构建一个复杂的权限系统。大部分都像一个符咒,但我现在的问题是: 首先,表格的设置: (对于外部链接很抱歉,但编辑目前似乎不适合我) 表: 数据: 好: 用户通过成为组的成员而获得权限。(真管用!) 所以,但现在,我希望能够为用户提供特殊权限(不包括在组中) 我怎么能这么做? 这是我的尝试(但问题是,如果存在特殊权利,结果中不会有回报): 我希望你明白我的意思,因为我的英语不是很好。好的,我用UNION自己解决了这个问题。无论如何,谢谢你:)

下面的场景:我目前正在尝试使用连接等方式使用MySQL构建一个复杂的权限系统。大部分都像一个符咒,但我现在的问题是:

首先,表格的设置: (对于外部链接很抱歉,但编辑目前似乎不适合我)

表: 数据:

好:

用户通过成为组的成员而获得权限。(真管用!)

所以,但现在,我希望能够为用户提供特殊权限(不包括在组中)

我怎么能这么做? 这是我的尝试(但问题是,如果存在特殊权利,结果中不会有回报):


我希望你明白我的意思,因为我的英语不是很好。

好的,我用UNION自己解决了这个问题。无论如何,谢谢你:)
SELECT DISTINCT
    `user`.`username`,
    `right`.`name`

FROM
    `user`

INNER JOIN
    `user_group` ON
        `user`.`id` = `user_group`.`user_id`

INNER JOIN
    `group` ON
        `user_group`.`group_id` = `group`.`id`

INNER JOIN
    `group_right` ON
        `group`.`id` = `group_right`.`group_id`

INNER JOIN
    `right` ON
        `group_right`.`right_id` = `right`.`id`

LEFT JOIN
    `user_right` ON
        `user_right`.`user_id` = `user`.`id` AND
        `user_right`.`right_id` = `right`.`id`

WHERE
    `user`.`username` = 'Domi'