oracle - 在 Oracle View 的 where 子句中添加条件
问题描述
我在 Oracle View 下面工作正常。但现在我想添加如下条件组合:
EUREX_ROOT <> ROOT
AND EUREX_ROOT = 'BAY'
所以我想要所有剩余的数据,不包括具有上述条件组合的数据,但不知道如何在这个视图中实现这一点。
在 BB_IMPORT 表字段中,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')
推荐阅读
- c++ - 比较 double* 和 double
- java - 尝试加密时出现此错误。java.security.InvalidKeyException:传递给 RSA 的未知密钥类型
- python - 我想知道为什么循环不会在这里停止
- javascript - 从表格中的按钮调用 Ajax
- kotlin - 为什么是 main(args: Array
) 允许在多个文件中定义 - c# - 为什么我的 C# Writer.Write(Filelist1) 只写 1kb
- react-native - 如何修复 RN 应用程序上无法识别的 WebSocket 连接选项
- python - 优化图类算法
- javascript - 通过ajax加载按钮,然后单击加载的按钮后,为相关按钮加载更多内容
- python - 在由 C 实现的另一个类驱动的类上使用元类