Проверка SQL существует в предложении where через определенное условие - PullRequest
2 голосов
/ 14 мая 2019

Привет. Я пытаюсь подтвердить правильность предложения where. Но эта проверка должна существовать только при соблюдении определенного условия, иначе эта проверка мне не нужна.

Я пытался, но не получил ожидаемый результат. Может я что то пропустил? Пожалуйста, помогите

 WHERE (CASE
           WHEN 1 = (SELECT DECODE (PARAMETER_VALUE, 'FALSE', 1, 2)
                       FROM TABLE_A
                      WHERE PARAMETER_NAME = 'STUDENT_STATUS')
           THEN
              INVALID_STAT
           ELSE
              ' '
        END) = 'Y'

1 Ответ

0 голосов
/ 14 мая 2019

Как насчет замены последнего ' ' на 'Y'.Поэтому, когда запрос возвращает результат, он преобразуется в

WHERE INVALID_STAT = 'Y'

И когда запрос не возвращает никакого результата, он преобразуется в -

WHERE 'Y' = 'Y'

Таким образом, игнорируя условие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...