Короткое замыкание в предложении WHERE * может помешать любому количеству совпадений, превышающему 1, если вы используете OR.
Как насчет сохранения списка совпадений в табличной переменной, а затем подсчета совпадений;
DECLARE @MATCH TABLE (SCORE INT, TOKEN VARCHAR(16))
INSERT @MATCH
SELECT 1, 'VALUE'
UNION SELECT 1, 'SQL'
UNION SELECT 1, 'CAKE'
SELECT
[TITLE], SUM(M.SCORE)
FROM
[M_TIPS] T INNER JOIN @MATCH M ON T.[TITLE] LIKE '%' + M.TOKEN + '%'
GROUP BY T.[TITLE]
==
sql 1
value 1
xx sql value xx 2