OUTER APPLY
:
SELECT Stuff.id
,Results.pn
,Results.s
FROM stackoverflow_454945 AS Stuff
OUTER APPLY dbo.Split(',', Stuff.myColumn) AS Results
WHERE ISNULL(Results.s,'') <> ''
Вы могли использовать ОБЪЕДИНИТЬ поведение конкатенации
declare @split varchar(max)
set @split = ''
select @split = @split + Coalesce(myColumn + ',' , ' ')
from Stuff
WHERE id = 22268
select * from dbo.Split(',', @Left(@split,len(@split) -1))
, я не знаю, что это было бы немного лучше, чем использование курсора.