在 Oracle 视图中应用过滤器
我有下面的视图,我只想应用小过滤器,例如,我想忽略或删除视图中每个 IDENTIFIER 的所有行,其中 member_descr = 'O' 和 member_ratio <;= -5.
I have below view where i just wanted to apply small filter such that for example i want to ignore or remove all rows for each IDENTIFIER from the View where member_descr = 'O' and member_ratio < = -5.
我不确定是否要创建新的联合条件或应用过滤器,我正在为 member_descr = 'O' 计算 member_ratio 值的值
I am not sure if i want to create new Union condition or apply filter where i am calculating value for member_ratio value for member_descr = 'O'
目前在 fiddle 中,我们可以看到 member_ratio 值为 15.32778 for member_descr = 'O',计算后对于标识符 I0000RTERER3 是可以的.但是在计算 member_descr = 'O' 如果 member_ratio <= -5 那么我想从视图中忽略或删除此标识符的所有行.
Currently in the fiddle we can see the member_ratio value is 15.32778 for member_descr = 'O' which is ok for Identifier I0000RTERER3 after calculation. But after calculation for member_descr = 'O' if the member_ratio <= -5 then i want to ignore or remove all the rows for this identifier from view.
推荐答案
如果我现在明白我们需要 not exists
这里,
If I understood now we need not exists
here,
select *
from IS_ID t1
where not exists ( select 1
from IS_ID t2
where t1.identifier = t2.identifier
and (MEMBER_DESCR = 'O' and member_ratio < -5))
相关文章