Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Вниз

простой вопрос по выборке из 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.031 c
3-1098266693
Aleksandr
2004-10-20 14:04
2004.11.21
Присвоение TDataBase.DataBaseName приводит к AV...


14-1099469116
}|{yk
2004-11-03 11:05
2004.11.21
Лига Чемпионов. 4 тур. Результаты


14-1099252499
Поручик
2004-10-31 22:54
2004.11.21
Кто пользуется Оперой


4-1096852354
Dvm_home
2004-10-04 05:12
2004.11.21
ListBox


1-1099984033
КиТаЯц
2004-11-09 10:07
2004.11.21
Excel + Delphi задание формата ячейкам





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский