Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
ict_2010 Участник со стажем
Вступление в Клуб: 25.03.2015
|
Чт Май 28, 2015 06:57  Поиск в массиве |
|
Полезность: Нет оценки
|
Здравствуйте, подскажите пожалуйста как сделать поиск одной записи в массивах? |
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Чт Май 28, 2015 10:35   |
|
Полезность: Нет оценки
|
Запросом |
|
 |
ict_2010 Участник со стажем
Вступление в Клуб: 25.03.2015
|
Чт Май 28, 2015 10:37   |
|
Полезность: Нет оценки
|
Можно пример? |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Чт Май 28, 2015 10:42   |
|
Полезность: Нет оценки
|
ict_2010 пишет: |
Можно пример? |
Лучше бы вы с примером сказали что вам надо. Массив - это таблица и селект ничем не отличается от стандартного, записи одного массива идут с одним ИД в колонке collection_ID |
|
 |
ict_2010 Участник со стажем
Вступление в Клуб: 25.03.2015
|
Чт Май 28, 2015 10:51   |
|
Полезность: Нет оценки
|
yaffil пишет: | ict_2010 пишет: |
Можно пример? |
Лучше бы вы с примером сказали что вам надо. Массив - это таблица и селект ничем не отличается от стандартного, записи одного массива идут с одним ИД в колонке collection_ID |
Имеется реквизит ФИО, реквизит Адрес с типом массив. Необходимо сделать поиск по массиву т.е. берем адрес любой делаем поиск у каждой записи ФИО у кого реквизит Адрес заполнен, если у этой записи ФИО в массиве есть такой адрес который мы ищем то вывод ФИО этого адреса. |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Чт Май 28, 2015 10:57   |
|
Полезность: 1
|
Почему через адрес то ищете? Странные вы
Код: | ::[CLIENT].[ADDRESSES] |
попадаете в массив адресов клиента, а там делаете что хотите, например поиск по индексу
Код: | where ::[CLIENT].[ADDRESSES].[POST_CODE] = '666555' |
|
|
 |
galaga Участник со стажем
Вступление в Клуб: 13.08.2007
|
Чт Май 28, 2015 11:05   |
|
Полезность: 1
|
Имеется реквизит ФИО, реквизит Адрес с типом массив. Необходимо сделать поиск по массиву т.е. берем адрес любой делаем поиск у каждой записи ФИО у кого реквизит Адрес заполнен, если у этой записи ФИО в массиве есть такой адрес который мы ищем то вывод ФИО этого адреса.[/quote]
Можно посмотреть пример обработки адреса у клиента в стандартных библиотеках ЦФТ здесь:
:: [VIEWFUN].GetAddress( this, 'ALL', null );
Код: | Function GetAddress( cl [CLIENT_REF]
,AddRecv varchar2(100) default null
,AddrCode varchar2(20) default null
)return varchar2(1000)
is
addr varchar2(1000);
cl_adresses [CLIENT].[ADDRESSES]%type;
cl_id refstring;
begin
begin
select a(a.[ADDRESSES], a%class)
in ::[CLIENT] all
where a = cl
into cl_adresses, cl_id ;
addr := GetAddressByArray(cl_id, cl_adresses, AddRecv, AddrCode);
exception
when NO_DATA_FOUND then
null;
end;
return addr;
end; |
|
|
 |
ict_2010 Участник со стажем
Вступление в Клуб: 25.03.2015
|
Чт Май 28, 2015 11:57   |
|
Полезность: Нет оценки
|
galaga пишет: | Имеется реквизит ФИО, реквизит Адрес с типом массив. Необходимо сделать поиск по массиву т.е. берем адрес любой делаем поиск у каждой записи ФИО у кого реквизит Адрес заполнен, если у этой записи ФИО в массиве есть такой адрес который мы ищем то вывод ФИО этого адреса.
Можно посмотреть пример обработки адреса у клиента в стандартных библиотеках ЦФТ здесь:
:: [VIEWFUN].GetAddress( this, 'ALL', null ); |
спасибо
Последний раз редактировалось: ict_2010 (Чт Май 28, 2015 11:58), всего редактировалось 1 раз |
|
 |
ict_2010 Участник со стажем
Вступление в Клуб: 25.03.2015
|
Чт Май 28, 2015 11:57   |
|
Полезность: Нет оценки
|
yaffil пишет: | Почему через адрес то ищете? Странные вы
Код: | ::[CLIENT].[ADDRESSES] |
попадаете в массив адресов клиента, а там делаете что хотите, например поиск по индексу
Код: | where ::[CLIENT].[ADDRESSES].[POST_CODE] = '666555' |
|
спасибо |
|
 |
|