Всем привет.
Есть 2 таблицы, в names имена, в match - строки для сравнения имен. Нужно присоединить match к names по условию, что в имени будут содержаться слова из набора с приоритетом 1 И слова из набора с приоритетом 2.
Например, name = 'John Smith Good Guy'
Таблица match:
compare | priority
---------------------
good | 1
guy | 2
John | 1
Smith | 3
В результате мы должны получить
John Smith Good Guy | good
John Smith Good Guy | guy
John Smith Good Guy | John
Я попробовал такую конструкцию, но получаю compare = null
select n.name, m.compare from names n
left join match m
on (n.name like '%' + m.compare+ '%' and m.priority = 1)
and
(n.name like '%' + m.compare + '%' and m.priority = 2)
Кто-нибудь может помочь?