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

问题描述 投票:0回答:1

我在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)
oracle view where-clause case-when
1个回答
2
投票

不是吗

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')
© www.soinside.com 2019 - 2024. All rights reserved.