Похоже, у вас нет закрывающих кавычек вокруг ваших @RespondentFilters
'8ec94bed-fed6-4627-8d45-21619331d82a, 114c61f2-8935-4755-b4e9-4a598a51cc7f'
Поскольку GUID сравнивает строки, это не сработает.
Лучше всего использовать код, чтобы разбить список на несколько значений.
Примерно так:
-- This would be the input parameter of the stored procedure, if you want to do it that way, or a UDF
declare @string varchar(500)
set @string = 'ABC,DEF,GHIJK,LMNOPQRS,T,UV,WXY,Z'
declare @pos int
declare @piece varchar(500)
-- Need to tack a delimiter onto the end of the input string if one doesn't exist
if right(rtrim(@string),1) ','
set @string = @string + ','
set @pos = patindex('%,%' , @string)
while @pos 0
begin
set @piece = left(@string, @pos - 1)
-- You have a piece of data, so insert it, print it, do whatever you want to with it.
print cast(@piece as varchar(500))
set @string = stuff(@string, 1, @pos, '')
set @pos = patindex('%,%' , @string)
end
Код, украденный у Рэймонд Льюаллен