Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
2-1192004516
Unknown user
2007-10-10 12:21
2007.11.04
выделение большого объема памяти


15-1191484124
Ломброзо
2007-10-04 11:48
2007.11.04
Есть ли в природе такой девайс?


2-1192259883
.patt
2007-10-13 11:18
2007.11.04
Формат даты в DateTimePicker


3-1182878418
Kley
2007-06-26 21:20
2007.11.04
из Excel в Access


15-1191262340
cber
2007-10-01 22:12
2007.11.04
В чём ошибка?




   Наверх