|
Запрос в oracle SQL для поиска по указанным параметрам и не по всем заданным параметрам
|
|||
---|---|---|---|
#18+
Помогите пожалуйста с одним запросом. Найти человека по указанным параметрам: - телефон - ФИО - документ Обязательное требование по запросу где поиск по параметрам. Надо учесть что параметры могут быть не указаны. То есть поиск человека только по фио. И это должно быть в 1 запрос как то. Писал запрос, но он у меня не срабатывает так как мне надо. я так понял чтобы выводило либо со всеми параметрами, либо без каких то параметров, но при этом там не пустые поля должны быть, а просто считается, что при формировании условия человек не ввел данный параметр для поиска. Вот как в этой ситуации написать запрос. Я писал запрос вот так, но он не выдает то что мне нужно, если я например сделаю какие то значения ' ': Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2020, 23:25 |
|
Запрос в oracle SQL для поиска по указанным параметрам и не по всем заданным параметрам
|
|||
---|---|---|---|
#18+
Lev5137, 2 вопроса - 1.база какая? 2.Зачем там full join ? Модератор: Тема перенесена из форума "Работа". ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2020, 23:54 |
|
Запрос в oracle SQL для поиска по указанным параметрам и не по всем заданным параметрам
|
|||
---|---|---|---|
#18+
Lev5137 Я писал запрос вот так, но он не выдает то что мне нужно, если я например сделаю какие то значения ' ' Значит, его нужно изменить так, чтобы он выдавал то, что Вам нужно. Попробуйте написать похожий запрос, который ищет по ФИО и телефону (без документа) и посмотрите, чем он отличается от Вашего. А затем подумайте, что надо дописать к Вашему запросу, чтобы в случае неуказания документа он по сути превращался во второй Вами написанный. P.S. Работать с номером телефона как с числом - плохая идея. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2020, 00:00 |
|
Запрос в oracle SQL для поиска по указанным параметрам и не по всем заданным параметрам
|
|||
---|---|---|---|
#18+
Lev5137, select pd.ID_PERSONAL_DATA, pd.P_NAME, pd.P_SURNAME, pd.PATRONYMIC, pd.PHONE_NUMBER, dc.DOCUMENT_NAME FROM COURSEWORK.PERSONAL_DATA pd JOIN COURSEWORK.DOCUMENTS d ON pd.id_personal_data=d.id_personal_data JOIN COURSEWORK.DOCUMENT_CATEGORY dc ON dc.id_document_category=d.id_document_category where (pd.P_NAME='Анников' and pd.P_SURNAME='Евстигней' and pd.PATRONYMIC='Вадимович') and (pd.PHONE_NUMBER is null or pd.PHONE_NUMBER = 89200571627) and (dc.document_name is null or dc.document_name='водительские права') не пойдёт? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2020, 00:00 |
|
Запрос в oracle SQL для поиска по указанным параметрам и не по всем заданным параметрам
|
|||
---|---|---|---|
#18+
alexzaides не пойдёт? Может и пойдёт. Но постановке задачи не соответствует. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2020, 00:01 |
|
Запрос в oracle SQL для поиска по указанным параметрам и не по всем заданным параметрам
|
|||
---|---|---|---|
#18+
alexzaides, база oracle. по поводу join я просто хотел все в 1 запрос сделать и как машинально сделал через full join. я с join не очень хорошо понимаю в каком случае какой применять. ну full join это когда можно в обоих столбцах иметь пустые значения. вообщем как я понял ваши замечания, здесь надо просто через join сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2020, 00:02 |
|
Запрос в oracle SQL для поиска по указанным параметрам и не по всем заданным параметрам
|
|||
---|---|---|---|
#18+
alexzaides, я так пробовал писать, но как я понял там надо чтобы выводились строчки. причем они должны быть не пустые. у меня в БД нет пустых строчек. просто если я напишу приложение и например в качестве парамета dc.document_name задам пустую строку ' ' , то запрос ничего не выодит, а по идее должно выводиться больше строк, ведь меньше данных для поиска ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2020, 00:04 |
|
Запрос в oracle SQL для поиска по указанным параметрам и не по всем заданным параметрам
|
|||
---|---|---|---|
#18+
softwarer, ну постановка так сформулирована, что сложно сказать, что ей соответствует. Я просто переписал тот запрос что есть, чтобы он глаза поменьше резал ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2020, 09:52 |
|
Запрос в oracle SQL для поиска по указанным параметрам и не по всем заданным параметрам
|
|||
---|---|---|---|
#18+
Lev5137, ну шо я вам таки могу сказать... Учите матчасть. Оно полезно иногда. Во первых в оракле пустая строка === NULL. и проверять надо на него, а не на пустую строку Во вторых - с типами join таки стоит разобраться ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2020, 09:55 |
|
|
start [/forum/topic.php?fid=16&msg=39965189&tid=1339781]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 141ms |
0 / 0 |