要仅显示一个特定ID和相同ID的活动状态,应禁用所有状态

时间:2017-12-22 07:04:29

标签: sql oracle oracle9i

我想显示仅对一个应用程序开始活动的人员列表' a'所有其他应用程序应该被禁用#39; Person id在一个表中,应用程序详细信息将在另一个表中。

必须选择满足以下条件的人员ID。我附上了我加入三个表的模型结果。我需要选择以下用户(突出显示),

enter image description here

person_id是主键。

查询使用如下:

SELECT * FROM  (select   p.person_id from ur_username u join  ur_username_person up on u.username_id=up.username_id 
join ur_person p on up.person_id=p.person_id 
WHERE ( U.USERNAME  LIKE 'A-%' OR U.USERNAME  LIKE 'a-%')
AND u.status='ACTIVE' AND U.ROLE_ID =123 ) E
WHERE p.person_id IN ( select   p.person_id from ur_username u join  ur_username_person up on u.username_id=up.username_id 
join ur_person p on up.person_id=p.person_id 
WHERE ( U.USERNAME  NOT LIKE 'A-%' OR U.USERNAME NOT LIKE 'a-%')
AND u.status='DISABLED' AND U.ROLE_ID =123 )

我正在接触任何其他应用程序中活跃的人。

在上面的表中,我想要用户名a-pri(以a-开头),状态为' ACTIVE'应用程序ID 123的所有其他状态均已禁用。没有其他用户名对该123 ID有效。

2 个答案:

答案 0 :(得分:0)

我们可以尝试聚合private SparkContext createSparkContext_2() { return (SparkContext) Utils.invokeMethod(sparkSession, "sparkContext"); } ,然后检查两件事。首先,我们可以检查有效的用户名Application_id是否只出现一次。其次,我们可以断言只有一条记录显示为活动记录。这两个条件似乎符合您的要求。

a-pri

按照下面的链接,该链接使用更大的样本数据集来覆盖更多边缘情况。

Demo

答案 1 :(得分:0)

可能我没有正确理解您的请求,但这是我的代码:

Select username from your_rable where status = 'ACTIVE';

如果这不是您想要接收的内容,请提供更多数据集,可能需要更多Application_id以及所需的结果。