Я знаю, что на этот вопрос уже должен быть дан ответ, но я просто не могу найти подходящий вопрос.
Используя LIKE '%keyword%'
, я хочу найти отношение данных многие ко многим вБаза данных MSSQL и приведите ее к результирующему набору.Две таблицы объединены через таблицу ссылок.Вот очень упрощенная версия того, о чем я говорю:
Books:
book_ id title
1 Treasure Island
2 Poe Collected Stories
3 Invest in Treasure Islands
Categories:
category_id name
1 Children
2 Adventure
3 Horror
4 Classic
5 Money
BookCategory:
book_id category_id
1 1
1 2
1 4
2 3
2 4
3 5
Я хочу найти фразу в названии (например, '%treasure island%'
) и получить соответствующие записи Книги, содержащие поискстрока и единственная запись с наибольшим соответствием Categories
, которая идет с каждой книгой - я хочу отбросить записи меньшей категории.Другими словами, я ищу это:
book_id title category_id name
1 Treasure Island 4 Classic
3 Invest in Treasure Islands 5 Money
Есть предложения?