我有一个包含地区,城市,团队和用户的应用程序.有8种默认用户类型或帐户类型(即用户,超级用户,系统管理员,只读用户等).我需要找到至少包含其中一种默认帐户类型的区域.所有这些帐户必须来自同一地区.例如:
SELECT users.region FROM users WHERE users.role='System Administrator'
OR users.role='Power User'
OR users.role='User'
OR users.role='Read Only' AND users.region = users.region;
Run Code Online (Sandbox Code Playgroud)
当然,这不起作用.如何确保查询确保所有用户角色(帐户类型)来自同一区域?
如果有八种类型,那么这将返回全部八种类型的区域:
select u.region
from users u
group by u.region
having count(distinct u.role) = 8;
Run Code Online (Sandbox Code Playgroud)
这假定u.role只有"默认"值.如果其他值可以进入,则使用where:
select u.region
from users u
where u.role in ('System Administrator', . . . )
group by u.region
having count(distinct u.role) = 8;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41 次 |
| 最近记录: |