IF object_id('tempdb..#testEnvironment') IS NOT NULLBEGIN DROP TABLE #testEnvironment;END;SELECT ID, NameINTO #testEnvironmentFROM (VALUES(1, 'Fred'),(2, 'Joe'),(3, 'Bob'))a(ID, Name);
DECLARE @Delimitedlist VARCHAR(8000) = '1,3,2';SELECT STUFF((SELECT ','+a.Name FROM #testEnvironment a INNER JOIN (SELECT ItemNumber AS Ordering, Item FROM dbo.DelimitedSplit8K(@Delimitedlist,',') ) b ON a.ID = b.Item ORDER BY b.Ordering FOR XML PATH(''), TYPE).value('.','NVARCHAR(MAX)'),1,1,'');
Fred,Bob,Joe