在 Oracle 视图中的 where 子句中添加条件
Add condition in where clause in Oracle View
我有以下 Oracle View,它工作正常。但现在我想添加如下条件组合:
EUREX_ROOT <> ROOT
AND EUREX_ROOT = 'BAY'
所以我想要所有剩余的数据,不包括具有上述条件组合的数据,但不知道如何在此视图中实现它。
在 BB_IMPORT table 字段 EUREX_ROOT 不存在,我正在使用 case 条件生成它,因此如果我们尝试使用此字段,这里的别名可能有问题在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,它工作正常。但现在我想添加如下条件组合:
EUREX_ROOT <> ROOT
AND EUREX_ROOT = 'BAY'
所以我想要所有剩余的数据,不包括具有上述条件组合的数据,但不知道如何在此视图中实现它。
在 BB_IMPORT table 字段 EUREX_ROOT 不存在,我正在使用 case 条件生成它,因此如果我们尝试使用此字段,这里的别名可能有问题在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')