Hello!
declare @a table ( value varchar(30) ) declare @b table ( [key] int, [text] varchar(30) ) declare @c table ( [key] int, [contains] varchar(30) ) declare @tab_aux table ( [key] int, value varchar(30) ) insert into @a values ('aaa'), ('bbb'), ('ssdd'), ('qay') insert into @b values (1,'xxxaaayyyqay'), (3,'assdd'); insert into @tab_aux select [key], value from @a cross apply @b where PATINDEX('%'+value+'%',[text]) <> 0 SELECT DISTINCT[key], STUFF(( SELECT ',' + B.Value AS [text()] FROM @tab_aux B WHERE B.[Key] = A.[Key] FOR XML PATH('') ), 1, 1, '' ) AS [contains] FROM @tab_aux A
- Proposed as answer by pituachModerator 22 hours 28 minutes ago