CREATE TABLE #UserCompany
([ID] int, [CustId] varchar(2), [CustName] varchar(1), [Status] int)
;
INSERT INTO #UserCompany
([ID], [CustId], [CustName], [Status])
VALUES
(1, 'a1', 'A', null),
(2, 'a1', 'A', null),
(3, 'a2', 'B', null),
(4, 'a3', 'B', null),
(5, 'a4', 'C', null),
(6, 'a4', 'C', null),
(7, 'a4', 'D', null),
(8, 'a6', 'E', null)
;select * from #UserCompany
при передаче некоторого значения iam получает значения
declare @id varchar(100)='1,2'
select * from #UserCompany where id in (select CAST(value AS int) FROM string_SPLIT(@id, ','))
если iam передает значение null iam не получает никакого значения, как получить, даже если мы не передаем ничего, как показано ниже
declare @id varchar(100)=null
select * from #UserCompany where id in (select CAST(value AS int) FROM string_SPLIT(@id, ','))
вывод должен быть в общей таблице должен отображаться