Я создаю функцию, в которой мне нужно передать несколько идентификаторов (предположим, A.id) (int) в виде значений, разделенных запятыми, как (2,3), и результатом будут значения (int), связанные с этими идентификаторами.Предположим, что если я передал (2,3), результат должен быть похож на (8,9,7,5).
declare @roleid varchar(max)
set @roleid=(select mr.Id from M_Organization mo
join m_role mr on mr.Id=mo.RoleId
cross apply STRING_SPLIT ('3,4', ',') cs WHERE mo.Id IN (cs.value)
)
select @roleid
Он показывает следующую ошибку:
Подзапрос возвращенболее 1 значение.Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется в качестве выражения.