Sql 选择同一表中的记录子集
有一个表显示权限和某些对象的映射,即对象“obj1”具有“perm1”和“perm2”权限,“obj2”-“perm1”和“perm3”Sql 选择同一表中的记录子集,sql,Sql,有一个表显示权限和某些对象的映射,即对象“obj1”具有“perm1”和“perm2”权限,“obj2”-“perm1”和“perm3” Permission_id Object_Id perm1 | obj1 perm2 | obj1 perm1 | obj2 perm3 | obj2 问题是:如何获得应用于所有对象的权限子集?即: Permission_id perm1 以下使用计数和聚合来实现此
Permission_id Object_Id
perm1 | obj1
perm2 | obj1
perm1 | obj2
perm3 | obj2
问题是:如何获得应用于所有对象的权限子集?即:
Permission_id
perm1
以下使用计数和聚合来实现此目的:
select permission_id
from permissionobjects po
group by permission_id
having count(distinct object_id) = (select count(distinct object_id) from permissionobjects);