Sql 在Oracle视图中应用筛选器

Sql 在Oracle视图中应用筛选器,sql,oracle,select,view,Sql,Oracle,Select,View,我在下面的视图中只想应用小过滤器,例如,我想忽略或删除视图中每个标识符的所有行,其中member_descr='O'和member_ratio

我在下面的视图中只想应用小过滤器,例如,我想忽略或删除视图中每个标识符的所有行,其中member_descr='O'和member_ratio<=-5

我不确定是否要创建新的联合条件或在计算成员的值时应用筛选器。成员的比值\u descr='O'


目前,在小提琴中,我们可以看到,对于member_descr='O',member_比率值为15.32778,这对于计算后的标识符I0000RTERER3来说是正常的。但是在计算完member_descr='O'之后,如果member_比率如果我现在理解,我们不需要在这里存在


您的意思是不仅要删除member_descr='O'member_RATIO的值小于-5的记录,而且要删除LU0068337053的所有记录吗?是的,如果条件不满足,则应删除LU0068337053的所有记录。也要发布到yes。我认为这很好……但如何在视图中应用相同的规则?我想我们在计算后需要它?是的,你是对的,但是修改现有视图会太多,我建议使用此查询创建另一个视图,而不是修改已经很复杂的视图。哦,在现有视图中不可能应用相同的视图吗?我想我们可能需要应用额外的并集或过滤器?是的,应该可以使用Symonds,但我认为让基本视图保持原样,如果确实需要另一个过滤视图,为什么不创建一个呢?一个查询应该很好,但如果它是在许多地方使用的东西,则创建另一个查询。创建视图不会有任何影响。我们需要删除所有与MEMBER_DESCR='O'和MEMBER_ratio<-5匹配的标识符,这是在现有视图中很难实现的部分。我将尝试它,并在成功的情况下更新你。
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))