Как я могу выполнить поиск нескольких «значений» в поле поиска в отчете SSRS

#reporting-services #parameters #search-box #ssrs-2019

Вопрос:

Я создал выпадающий список, который фильтруется в соответствии со значением, присутствующим в поле поиска. Однако я могу выполнять поиск только по одному полю, и я хочу выполнить поиск более чем по одному.

Я использовал этот запрос, чтобы сделать возможным использование поля поиска

 where upper(ds_in) LIKE upper('%' @Psearch '%') or ISNULL(LEN(@Psearch),0)=0
 

Но это позволяет мне искать только одно значение, и я хочу искать больше.
Например, представьте, что вы ищете две страны :

Окно поиска: ITALY , SPAIN

Ответ №1:

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

Использование списка стран в качестве примера…

 DECLARE @PSearch varchar(max) = 'Italy , spa'

SELECT * FROM myCountryTable c 
    JOIN string_split(@PSearch, ',') s 
        ON c.myCountryName like '%'   LTRIM(RTRIM(s.value))   '%'
 

Это вернет все, что соответствует %Italy% или %spa%

Комментарии:

1. Спасибо @AlanSchofield, я думаю, что это работает.