棘手的选择查询,需要帮助

时间:2015-01-13 00:11:01

标签: sql oracle peoplesoft

我有一个名为 psroleuser 的表格,其中包含coulmns rolename,roleuser。

对于每个角色名称,都有一组roleuser,例如,角色名称A可以有20个角色使用者,角色名称B可以有30个角色使用者。

现在,我想选择所有角色,即角色名为10或更少的角色名。

怎么做。我知道这在数据库中是非常重要的,但我也是如此。我可以建议任何人建立好的oracle,sql读取开始。

谢谢。

2 个答案:

答案 0 :(得分:1)

你没有在这些表中共享列,我并不直接熟悉PeopleSoft,但听起来还有一个User表(或类似的),而roleuser表将这些用户记录映射到rolename记录。如果这是真的,那么该表将包含名称类似于RoleIDUserID的列。使用这些列作为示例,您将最终得到如下内容:

SELECT RoleID
FROM RoleUser
GROUP BY RoleID
HAVING COUNT(UserID) <= 10

答案 1 :(得分:1)

SELECT rolename
  FROM psroleuser
 GROUP BY rolename
 HAVING COUNT(1) <= 10;