在Oracle View的where子句中添加条件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Oracle View的where子句中添加条件相关的知识,希望对你有一定的参考价值。

我在Oracle View下方运行正常。但是现在我想添加如下条件的组合:

EUREX_ROOT <> ROOT
AND EUREX_ROOT = 'BAY'  

因此,我希望除上述条件组合之外的所有剩余数据,但不知道如何在此视图中实现。

在BB_IMPORT表中,不存在EUREX_ROOT字段,我正在使用大小写条件来生成它,因此,如果我们尝试在where条件中使用此字段,则别名可能存在问题。

CREATE OR REPLACE VIEW
    BB_IMPORT_TEST
    (        
        ROOT,
        EUREX_ROOT
    ) AS
    (
        SELECT
        ROOT,
        CASE
            WHEN exch_code IN ('EUX')                
            THEN ID_EXCH_SYMBOL            
            ELSE NULL
        END AS "EUREX_ROOT" from BB_IMPORT)
答案

不是吗

SELECT root, eurex_root
  FROM (SELECT ROOT,
               CASE
                  WHEN exch_code IN ('EUX') THEN ID_EXCH_SYMBOL
                  ELSE NULL
               END
                  AS EUREX_ROOT
          FROM BB_IMPORT)
 WHERE NOT (    EUREX_ROOT = ROOT
            AND EUREX_ROOT <> 'BAY')

以上是关于在Oracle View的where子句中添加条件的主要内容,如果未能解决你的问题,请参考以下文章

Oracle Where(条件)子句用法

Oracle Where(条件)子句用法

在oracle中where 子句和having子句中的区别

oracle中where子句和having子句中的区别

oracle中where 子句和having子句中的区别

在 from 子句 *and* where 子句中添加连接条件使查询更快。为啥?