#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, я думаю, что это работает.