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

Вниз

SELECT .... IN   Найти похожие ветки 

 
ambhtr   (2007-06-26 11:06) [0]

Есть таблица с полем IndexCompany. Необходимо делать выборки: либо по выбраным, т.е.
where IndexCompanyIN (390,312),
либо для всех.
Можно ли для IN задать значение при котором он выбирал бы всех? Что-то типа IN (1..999) или IN(???)


 
Ega23 ©   (2007-06-26 11:14) [1]

where (1=:param1 or IndexCompany in ...)

Поставишь param1=1 - выберутся все. Поставишь <>1 - выберуться те, которые в in


 
Johnmen ©   (2007-06-26 11:16) [2]

(IndexCompany IN (390,312)) OR (:MyFlagForAllIndexCompany=1)
Параметр =1 - все, <>1 - только те, кот. в IN.


 
ЮЮ ©   (2007-06-26 11:17) [3]

т.к. то что в скобках нельзя задать параметром, то запрос всё равно формируется динамически. Поэтому в случае всех WHERE часть запроса можно просто опустить.


 
Megabyte ©   (2007-06-27 09:03) [4]

Есть такое решение:
where (iif(:param is not null, IndexCompany, 0) = iif(:param is not null, :param, 0))
При null-параметре будет тождество. Хотя я не знаю, можно ли не ввести параметр вообще без сообщения об ошибке. У меня тесктовое поле, поэтому подставляю " " и проверяю параметр на :param <> "".


 
ЮЮ ©   (2007-06-28 03:36) [5]

> [4] Есть такое решение:

И как оно способно реализовать коНструкцию where IndexCompany IN (390,312) ???


 
Megabyte ©   (2007-06-28 11:29) [6]

Упс, не обратил внимания, что 2 значения.



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
2-1192004898
Ega23
2007-10-10 12:28
2007.11.04
А почему у TDateTimePicker


1-1187790244
elserpiente
2007-08-22 17:44
2007.11.04
прочитать консольную StdOut


15-1190956669
Dmitry S
2007-09-28 09:17
2007.11.04
Фильтр DHCP


15-1190956357
Vlad_i
2007-09-28 09:12
2007.11.04
TRegExpr


2-1192101763
xayam
2007-10-11 15:22
2007.11.04
Как добавить символ перед