Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Поиск данных через запятую / 11 сообщений из 11, страница 1 из 1
02.11.2018, 09:18
    #39726958
Askat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск данных через запятую
Доброе время суток!. Нужна консультация. Как сделать поиск данных по нескольким значениям в одном поле одновременно? Допустим есть поле ФИО. Пользователь может вводить в это поле ФИО клиента через запятую, количество не известно, короче n-ое. Тут как я понял нужно парсить? Или использовать динамический массив? По возможности можно примерчик. Спс!
...
Рейтинг: 0 / 0
02.11.2018, 09:25
    #39726968
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск данных через запятую
AskatФИО клиента через запятую
Код: plsql
1.
select replace('Аскаров,Аскат', ',', ' ') from dual;
...
Рейтинг: 0 / 0
02.11.2018, 09:32
    #39726974
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск данных через запятую
Askat,

Студентам, желающим помощи

http://www.bugtraq.ru/forum/faq/general/smart-questions.html] Как правильно задавать вопросы

Мессир
тестовые данные, например:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
with t(fio) as (
select 'Ремарк, Эрих, Мария' from dual union all
select 'Фернандес, Перес, Владимир, Кастулович' from dual union all
select 'Хосуэ, Гонсалес, де Леон' from dual union all
select 'Карам, Абу, Иль, Хатаб' from dual
)
select fio from t;


что хочешь получить
как пытался решить задачу

p.s. Используй ТЭГ SRC для оформления
...
Рейтинг: 0 / 0
02.11.2018, 09:39
    #39726981
Askat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск данных через запятую
-2-AskatФИО клиента через запятую
Код: plsql
1.
select replace('Аскаров,Аскат', ',', ' ') from dual;



Вы меня не поняли, пользователь может вводить несколько клиентов в мемо через запятую: Иванов Иван Иваныч, Петров Петр Петрович, Сидров Сидр Сидрович, и т.д. ...
...
Рейтинг: 0 / 0
02.11.2018, 09:52
    #39726994
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск данных через запятую
Askat-2-пропущено...
Код: plsql
1.
select replace('Аскаров,Аскат', ',', ' ') from dual;



Вы меня не поняли, пользователь может вводить несколько клиентов в мемо через запятую: Иванов Иван Иваныч, Петров Петр Петрович, Сидров Сидр Сидрович, и т.д. ...
[youtube=
YouTube Video
...
Рейтинг: 0 / 0
02.11.2018, 10:19
    #39727018
Askat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск данных через запятую
Vadim LejninAskatпропущено...


Вы меня не поняли, пользователь может вводить несколько клиентов в мемо через запятую: Иванов Иван Иваныч, Петров Петр Петрович, Сидров Сидр Сидрович, и т.д. ...
[youtube=
YouTube Video
...
Рейтинг: 0 / 0
02.11.2018, 10:21
    #39727020
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск данных через запятую
Askat,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
  1  with Person(ID, FIO) as (
  2  select 100,'Иванов И.И.' from dual union all
  3  select 200,'Иванова А.П.' from dual union all
  4  select 300,'Петров А.П.' from dual union all
  5  select 400,'Петрова А.А.' from dual union all
  6  select 500,'Сидорова А.Ф.' from dual union all
  7  select 600,'Сидорова А.К.' from dual)
  8  ,Pairs(id,IDG, IDM, WEDDING_DATE) as (
  9  select 1,  100,    400,to_date('01-02-98') from dual union all
 10  select 2,  300,    400,to_date('02-10-00') from dual union all
 11  select 3,  500,    600,to_date('02-10-00') from dual )
 12  select * from person
 13* where instr(','||'Петров А.П.,Сидорова А.К.'||',',','||fio||',')>0
SQL> /

        ID FIO
---------- -------------
       300 Петров А.П.
       600 Сидорова А.К.



ps
1) парсіть
2) регулярка
3) like
4) другое
....
stax
...
Рейтинг: 0 / 0
02.11.2018, 11:04
    #39727058
Askat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск данных через запятую
StaxAskat,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
  1  with Person(ID, FIO) as (
  2  select 100,'Иванов И.И.' from dual union all
  3  select 200,'Иванова А.П.' from dual union all
  4  select 300,'Петров А.П.' from dual union all
  5  select 400,'Петрова А.А.' from dual union all
  6  select 500,'Сидорова А.Ф.' from dual union all
  7  select 600,'Сидорова А.К.' from dual)
  8  ,Pairs(id,IDG, IDM, WEDDING_DATE) as (
  9  select 1,  100,    400,to_date('01-02-98') from dual union all
 10  select 2,  300,    400,to_date('02-10-00') from dual union all
 11  select 3,  500,    600,to_date('02-10-00') from dual )
 12  select * from person
 13* where instr(','||'Петров А.П.,Сидорова А.К.'||',',','||fio||',')>0
SQL> /

        ID FIO
---------- -------------
       300 Петров А.П.
       600 Сидорова А.К.




ps
1) парсіть
2) регулярка
3) like
4) другое
....
stax

Спс! Вот я нашел более простой пример 0013331585
...
Рейтинг: 0 / 0
02.11.2018, 11:04
    #39727059
Askat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск данных через запятую
...
Рейтинг: 0 / 0
03.11.2018, 20:18
    #39727668
Askat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск данных через запятую
Askat,

regexp_ классная штука чем использовать union,ы
...
Рейтинг: 0 / 0
04.11.2018, 08:43
    #39727738
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск данных через запятую
Askatregexp_ классная штукаRTFM Functions (FAQ)
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Поиск данных через запятую / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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