There are 2 SQL Server tables:
Products:
Name Status Code
------------------------------------
Product 1 1001, 10
You can try this. I used a temporary table but you can use any means you want
SELECT p.Product , p.Status , s.Description INTO #tmp FROM ( SELECT Name Product, TRIM(value ) Status FROM tblProduct CROSS APPLY STRING_SPLIT(TRIM(StatusCode), ',') ) p JOIN tblStatus s ON s.Code = p.Status
select distinct Product , stuff(( select ',' + tmp2.Description from #tmp tmp2 where tmp2.Product = tmp1.Product order by tmp2.Product for xml path('') ) ,1,1,'') as StatusCode from #tmp tmp1 group by Product