Commencez par l'exemple générique, puis je le modéliserai avec quelques "union alls"
select distinct Record from dbo.Records
inner join dbo.Split('stack overflow', ' ') tokens
on records_table.Record like '%' + tokens.value + '%'
Donc, ce que j'ai fait ci-dessous, c'est que je me suis moqué de certaines données qui sont les "enregistrements, ainsi qu'un faux retour de la fonction dbo.Split, essentiellement une table de varchars avec 'stack' et 'overflow' tokenisés sur ' ' .
select distinct Name from (
select 'stack' as Name
union all
select 'nope' as Name
union all
select ' stackoverflow' as Name
) records_table
inner join (
select 'stack' as value
union all
select 'overflow' as value) tokens
on records_table.Name like '%' + tokens.value + '%'
Résultats :
stack
stackoverflow
La fonction dbo.Split n'a rien de spécial et il existe des tonnes d'exemples d'implémentation...