Предложение SQL Where с динамическим оператором IN()

У меня есть запрос, который позже следует использовать для создания отчета SSRS-2008. Этот запрос будет использоваться в качестве общего шаблона для многих отчетов.

Из-за этого в запросе содержится множество параметров, и каждый отчет должен соответствующим образом настраивать параметры в построителе отчетов.

После этого длинного вступления моя проблема заключается в следующем:

В предложении запроса WHERE параметры указаны с оператором IN(), например:

WHERE Users IN(@p1) AND ...

@p1 в одном отчете могут быть конкретными пользователями (например, WHERE Users IN(121,154,151) ), а в другом отчете это могут быть все пользователи . В таком случае и это мой вопрос, какое значение должен получить параметр @p1?

Я знаю, что могу использовать другой набор данных, чтобы получить всех пользователей и поместить их в параметр, но я хочу избежать этого (из-за проблем с производительностью и сохранить запрос как можно более общим) и хочу знать, есть ли какие-либо другие варианты ? (что-то вроде IN('% %') )

Спасибо.


person Gil Peretz    schedule 14.01.2013    source источник


Ответы (2)


Прежде всего, мне нравится твоя картина, полная любви, и желаю тебе счастливой жизни.

После этого вы можете найти полезным тот же мой вопрос о параметрах, подобных спискам, я задал его пару дней назад и придумал довольно красивые и разнообразные решения.

Надеюсь, поможет.

person Mahdi Tahsildari    schedule 14.01.2013
comment
Во-первых, я хочу поблагодарить вас за ваши комплименты, а также пожелать вам прекрасной и счастливой жизни. это фото было сделано с нашей свадьбы в прошлом году. По поводу вопроса - спасибо, кажется, я нашел то, что искал. Гил - person Gil Peretz; 14.01.2013
comment
@GilPeretz Я счастлив, что нашел нового друга из нового уголка мира. Махди - person Mahdi Tahsildari; 14.01.2013
comment
То же самое, приятно познакомиться, приятель! - person Gil Peretz; 14.01.2013

Вы можете сделать это, просто изменив параметры

  @p1 = "SELECT users FROM table"
person syed mohsin    schedule 14.01.2013
comment
Я не работаю с параметром в запросе, только в построителе отчетов. Кроме того, я не хочу использовать другую таблицу (таблицу пользователей), а только таблицу в основном запросе. - person Gil Peretz; 14.01.2013