Добавить условие в пункт where в Oracle Просмотр - PullRequest
0 голосов
/ 25 марта 2020

У меня ниже Oracle Вид, который работает нормально. Но теперь я хочу добавить комбинацию условий, как показано ниже:

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)

1 Ответ

2 голосов
/ 25 марта 2020

Разве это не будет

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')
...