Я написал инструмент поиска, используя Oracle Apex 5, который имеет 2 специальных поля фильтра / поиска. Я пытаюсь найти один или оба, но не получаю желаемого результата. Допустим, у меня есть столбцы Имя Фамилия в моей таблице и используется поле поиска Имя Фамилия. Поэтому данные будут выглядеть так:
Name | Surname
--------------------
Phil | Anselmo
Max | Cavalera
Maynard | Keenan
Kurt | Cobain
David | Gilmour
Мои поля поиска в Apex будут:
:P1_NAME
:P1_SURNAME
Я хочу соответствовать любому из следующих критериев:
regexp_like(NAME, :P1_NAME, 'i') and regexp_like(SURNAME, :P1_SURNAME, 'i')
or
:P1_NAME is null and regexp_like(SURNAME, :P1_SURNAME, 'i')
or
:P1_SURNAME is null and regexp_like(NAME, :P1_NAME, 'i')
Но я не уверен, как включить его в один выбор? Вот мой последний выбор. Я пробовал довольно много других, хотя.
select name, surname, from leads
where :P1_SURNAME is null and regexp_like(NAME, :P1_NAME, 'i')
or :P1_NAME is null and regexp_like(SURNAME, :P1_SURNAME, 'i')
or regexp_like(NAME, :P1_NAME, 'i') and regexp_like(SURNAME, :P1_SURNAME, 'i')