I was asking only because that || operator is not valid in SQL Server. If your input string contains exact region names, you can use something like this:
SELECT fields FROM table1 t
WHERE somefield = 'something'
AND ','+'abc,efg,def'+',' LIKE '%,'+t.REGION+',%';But, two problems with it: a) it is likely to be not very efficient. b) it won't work if you are looking for partial names.
To make it efficient and add the ability to look for partial strings, you will need a string splitter. A good one is here: http://www.sqlservercentral.com/articles/Tally+Table/72993/ You can copy and paste the code in Fig. 21 and run it to install the function.
Once you have the function, you can use it like this:
INNER JOIN dbo.DelimitedSplit8K('abc,efg,def',',') d
ON t.REGION LIKE '%'+d.Item+'%';