【发布时间】:2019-11-02 20:50:24
【问题描述】:
上面附的是示例表结构。该表由user_id、branch_id和permission_id 3列组成。
我有一个给定的每个user_id的最大权限,其中它包含branch_id(用户的分支权限)中某个user_id的多个权限(permission_id)
这里的主要问题是我不知道如何获取与给定Max Permissions权限不同的所有分支(branch_id)。
我进行了查询,但很遗憾,我无法解决这个逻辑问题。
这是我的查询:
SELECT COUNT(DISTINCT branch_id) AS all_branch
FROM branch_permission_user
WHERE
USER_ID = 18 AND
permission_id NOT IN (
SELECT permission_id
FROM branch_permission_user
WHERE
USER_ID = 18 AND
BRANCH_ID = 39)
你会注意到我写了一个特定的 user_id (18) 和 branch_id (39)。 我做了一段 SQL 查询来查找每个用户的最大长度的 branch_id。
请帮助我。先谢谢大家了!!!
【问题讨论】:
标签: sql sql-server optimization