在 Oracle 视图中应用过滤器

时间:2023-02-19
本文介绍了在 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))

这篇关于在 Oracle 视图中应用过滤器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:Oracle - FORCE 视图选项在执行后未显示在视图中 下一篇:ORACLE - 计算两个值并在视图中显示结果

相关文章

最新文章