반응형
SQL은 다른 권한을 가진 모든 사용자의 각 권한을 가진 사용자 수를 확인합니다(BITWISE).
두 개의 열에 비트 권한이 있는 사용자 테이블이 있습니다.이 컬럼들 중 하나는permissions
또 하나는app1
다음은 볼 수 있는 권한을 가진 모든 사용자를 보여 줍니다.app1
의 가치에 근거해permissions
. 내부의 값app1
열은 app1에서의 역할을 결정합니다.
SELECT `authorized_users`.* FROM `authorized_users` WHERE `permissions` & (SELECT `bits` FROM `user_permissions` WHERE `permission_name` = 'app1' AND `app` = 'global')
각각의 역할이 몇 명인지 확인해야 합니다.app1
모든 사용자에게 접근 권한이 있어야 합니다.app1
이는 다시 한 번 의 값에 의해 결정됩니다.permissions
열. 이 값이 있어야 하는 값은 다음을 사용하여 찾을 수 있습니다.
SELECT `bits` FROM `user_permissions` WHERE `permission_name` = 'app1' AND `app` = 'global'
다음과 같은 열의 결과를 원합니다.supplier
,client
,consultant
각 역할별로 얼마나 많은 사람이 있는지 보여줍니다.사용자는 여러 역할을 가질 수 있으므로 BITWISE를 사용합니다.
user_permissions
다음과 같습니다.
어떤 도움이라도 주시면 감사하겠습니다.
필요한 것은LEFT
에 합류하다.user_permissions
로.authorized_users
및 집약:
SELECT p.permission_name, COUNT(u.permissions) counter
FROM user_permissions p LEFT JOIN authorized_users u
ON u.permissions & p.bits
WHERE p.app = 'app1'
GROUP BY p.permission_name
언급URL : https://stackoverflow.com/questions/68285936/sql-find-out-how-many-users-have-each-permission-of-all-users-who-have-another-p
반응형
'programing' 카테고리의 다른 글
mariadb 데이터베이스를 확장하여 많은 쿼리 요청을 받고 싶다. (0) | 2022.11.30 |
---|---|
Windows에서 PYTONPATH에 추가하여 모듈/패키지를 찾는 방법 (0) | 2022.11.30 |
"사이에 아무것도"가 없는 관련 행 찾기 (0) | 2022.11.30 |
PHP의 빈 값에서 기본 개체를 생성하시겠습니까? (0) | 2022.11.30 |
테이블에서 JSON 값 추출 (0) | 2022.11.30 |