Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

простой вопрос по выборке из ib баз   Найти похожие ветки 

 
Maxim_____   (2004-10-21 00:47) [0]

Извините за глупый вопрос.
Есть некоторый массив челых чисел,
от одного до 10000.
numarr array of integer;
Пишу запрос
select * from tablename where (fld21=213) and
((fld15= numarr[0]) or(fld15= numarr[1]) or(fld15= numarr[2]) or ...... )
т.е. получается очень длинный текст запроса с этим OR
Как-то это нехорошо смотрится, неоптимально,
может быть сущёствует более простой способ?
Может быть есть какой-нибудь ibx компонент, который может это упростить, а то большая часть траффика уйдет на текст запроса.


 
ЮЮ ©   (2004-10-21 02:40) [1]

И откуда, интересно, этот массив возник?


 
Наталия ©   (2004-10-21 07:37) [2]

Может быть так подойдет?
select * from tablename where (fld21=213) and
fld15 between numarr[0] and numarr[9999]
При условии, что в numarr[0] - наименьшее целое число,
а в numarr[9999] - наибольшее.
Или нужно более конкретно задачу сформулировать, тогда, возможно, ещё какие-то условия появятся...


 
msguns ©   (2004-10-21 09:39) [3]

ИМХО, в таких случаях, предпочтительнее вместо длиннючего текста запроса использовать ссылочный НД, который можно получить как временную таблицу и соответствующим образом заполнить.
А вообще-то разделяю недоумение ЮЮ ©   (21.10.04 02:40) [1]



Страницы: 1 вся ветка

Текущий архив: 2004.11.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
14-1099481328
Mike Kouzmine
2004-11-03 14:28
2004.11.21
Буш победил


14-1099171977
Yegorchic
2004-10-31 01:32
2004.11.21
Генератор алгоритма


3-1098549975
Серг
2004-10-23 20:46
2004.11.21
Накопление памяти при параметрическом запроосе


4-1097117796
December
2004-10-07 06:56
2004.11.21
Получение админстративных прав под Windows NT/2000/XP


14-1099603288
Black_phoenix
2004-11-05 00:21
2004.11.21
К вопросу о системе xGhost ( опровержение ваших утверждений )