PL/SQL : 通过对人物进行分组,根据条件过滤 ID
PL/SQL : Filter IDs based on a condition by grouping Persons
我有一个 table 列,如下所示。如果该应用程序中的所有人员在 Active Ind 列中至少有一个 'True' 指标,我想获取 APP_ID。
APP_ID Act_Ind Person_Id
1000 true p11
1000 true p12
1000 false p13
2000 false a20
2000 true a20
2000 true a21
2000 true a22
您可以使用 having
子句。
select app_id
from tablename
group by app_id
having count(distinct person_id)=count(distinct case when act_id='true' then person_id end)
我有一个 table 列,如下所示。如果该应用程序中的所有人员在 Active Ind 列中至少有一个 'True' 指标,我想获取 APP_ID。
APP_ID Act_Ind Person_Id
1000 true p11
1000 true p12
1000 false p13
2000 false a20
2000 true a20
2000 true a21
2000 true a22
您可以使用 having
子句。
select app_id
from tablename
group by app_id
having count(distinct person_id)=count(distinct case when act_id='true' then person_id end)