Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Поиск / 13 сообщений из 13, страница 1 из 1
14.07.2014, 10:43
    #38695684
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск
Добрый день.
Нужна помощь по следующему вопросу: есть поле в таблице вида "Фамилия Имя Отчество". И есть 3 текстбокса ввода данных для поиска: Имя, Фамилия и Отчество. Как мне сделать условие where, чтобы корректно работал поиск при всех вариантах ввода условия ? (например, только имя, или фамилия и отчество, etc)
...
Рейтинг: 0 / 0
14.07.2014, 10:45
    #38695687
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск
tvsjke,

Код: sql
1.
2.
3.
4.
5.
6.
where
fam = nvl(:input1,fam)
and
name = nvl(:input2,name)
and
otch = nvl(:input3,otch)


Лайки и апперы по желанию.
...
Рейтинг: 0 / 0
14.07.2014, 10:53
    #38695698
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск
немного не понял, у меня же нету 3 полей fam, name & otc, а есть одно поле fio
...
Рейтинг: 0 / 0
14.07.2014, 11:12
    #38695712
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск
tvsjke,

Тогда лайком
Код: sql
1.
where fio like '%'||:item1||'%'||:item2||'%'||:item3||'%'
...
Рейтинг: 0 / 0
14.07.2014, 11:16
    #38695716
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск
спасибо
...
Рейтинг: 0 / 0
14.07.2014, 13:14
    #38695885
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск
и еще такой вопрос: на этой же форме есть select list, в нем ~30 значений, и он фигурирует как одно из условий поиска. Но если искать по нему не нужно, как проигнорировать его ?
...
Рейтинг: 0 / 0
14.07.2014, 13:25
    #38695900
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск
tvsjke,

Таким же образом. Только в настройках селект листа нужно поставить галочку, чтобы в списке было пустое значение.
...
Рейтинг: 0 / 0
14.07.2014, 13:33
    #38695909
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск
gustly, я так уже делал, если реквест ставить по умолчанию - ORA-01722: invalid number, если ставлю 0 - он не игнорируется
...
Рейтинг: 0 / 0
14.07.2014, 13:43
    #38695919
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск
tvsjke,

Какой реквест? Где 0 ? И что не игнорируется?

В селект листе должен быть нул. После этого в самом запросе через nvl идет сравнение.
...
Рейтинг: 0 / 0
14.07.2014, 14:07
    #38695939
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск
Если оставить null return value пустым, то возникает ошибка ORA-01722: invalid number

Код: plsql
1.
find_person.id_dep = nvl(:department,find_person.id_dep)
...
Рейтинг: 0 / 0
14.07.2014, 14:19
    #38695951
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск
tvsjke,

Попробуйте окружить или nvl или :department в TO_NUMBER. Скорее всего 2-й вариант.
...
Рейтинг: 0 / 0
14.07.2014, 14:22
    #38695956
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск
те же яйца
...
Рейтинг: 0 / 0
14.07.2014, 14:40
    #38695975
Al_vrn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск
tvsjke, тогда посмотрите какое значение у переменной :department
Подозреваю, что какое-нибудь строковое
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Поиск / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]