棘手的 select 查询,需要帮助
tricky select query, need assistance
我有一个名为 psroleuser 的 table,它有 rolename, roleuser.
对于每个角色名,都有一组角色用户,例如角色名A可以有20个角色用户,角色名B可以有30个角色用户。
现在,我想 select 所有角色,即角色名称不超过 10 个。
怎么做。?我理解这在数据库中是非常基本的,但我也是..加上任何人都可以推荐好的 oracle,sql 阅读开始。
谢谢。
您没有共享那些 table 中的列,而且我并不直接熟悉 PeopleSoft,但听起来好像还有一个用户 table(或类似的),并且角色用户 table 将这些用户记录映射到角色名记录。如果这是真的,table 将包含名称类似于 RoleID
和 UserID
的列。使用这些列作为示例,您最终会得到如下结果:
SELECT RoleID
FROM RoleUser
GROUP BY RoleID
HAVING COUNT(UserID) <= 10
SELECT rolename
FROM psroleuser
GROUP BY rolename
HAVING COUNT(1) <= 10;
我有一个名为 psroleuser 的 table,它有 rolename, roleuser.
对于每个角色名,都有一组角色用户,例如角色名A可以有20个角色用户,角色名B可以有30个角色用户。
现在,我想 select 所有角色,即角色名称不超过 10 个。
怎么做。?我理解这在数据库中是非常基本的,但我也是..加上任何人都可以推荐好的 oracle,sql 阅读开始。
谢谢。
您没有共享那些 table 中的列,而且我并不直接熟悉 PeopleSoft,但听起来好像还有一个用户 table(或类似的),并且角色用户 table 将这些用户记录映射到角色名记录。如果这是真的,table 将包含名称类似于 RoleID
和 UserID
的列。使用这些列作为示例,您最终会得到如下结果:
SELECT RoleID
FROM RoleUser
GROUP BY RoleID
HAVING COUNT(UserID) <= 10
SELECT rolename
FROM psroleuser
GROUP BY rolename
HAVING COUNT(1) <= 10;