В настоящее время я работаю над поисковой системой для веб-сайта. У меня есть таблица Фильмы:
| id_movie | title | subtitle | primary_keyword | keywords | reference |
|-----------|--------------------------|----------------------------|----------------------|-----------------------|-----------|
| 1 | The Lord of the Rings | The Fellowship of the Ring | lord rings | lord rings fellowship | LORFR |
| 2 | The Lord of the Rings | The Two Towers | lord rings | lord two towers | LORTT |
| 3 | The Lord of the Rings | The Return of the King | lord | return king | LORRK |
| 4 | The Shawshank Redemption | | shawshank redemption | shawshank redemption | SSR |
(Это только пример)
Я хочу сделать поиск с этим приоритетом: 1 - Ссылка 2 - Название 3 - Ключевые слова 4 - ПервичнаяКлючевое слово 5 - Субтитры
Это то, что у меня есть:
SELECT * FROM (
SELECT 1 as prio, title, subtitle, reference
FROM movies
WHERE reference LIKE '%rings%'
UNION
SELECT 2 as prio, title, subtitle, reference
FROM movies
WHERE title LIKE '%rings%'
UNION
SELECT 3 as prio, title, subtitle, reference
FROM movies
WHERE keywords LIKE '%rings%'
UNION
SELECT 4 as prio, title, subtitle, reference
FROM movies
WHERE primary_keyword LIKE '%rings%'
UNION
SELECT 5 as prio, title, subtitle, reference
FROM movies
WHERE subtitle LIKE '%rings%') as BigSelect
ORDER BY prio ASC
Это работает, но я хочу: если у двух фильмов в заголовке есть «кольца», то следующим приоритетом являетсяключевые слова Тогда, если у них есть оба «кольца» в ключевых словах, проверьте primary_keyword ....
Окончательный результат, который я хочу получить:
| title | subtitle | reference |
|---------------------------|----------------------------|-----------|
| The Lord of the Rings | The Fellowship of the Ring | LORFR |
| The Lord of the Rings | The Two Towers | LORTT |
| The Lord of the Rings | The Return of the King | LORRK |
Три «Властелина колец» имеют «кольца»в названии. Тогда только «Братство Кольца» имеет «кольца» в ключевых словах. Тогда «Две Башни» имеют «кольца» в первичном ключевом слове (не Возвращение Короля)
Спасибо!