У меня есть таблица под названием cards
, которая имеет связанные таблицы brigades
и identifiers
. Одна карта может иметь несколько бригад и идентификаторов. Я хочу взять один такой поиск, например 'purple king'
, где «фиолетовый» - это бригада, а «король» - это идентификатор, а также карты с этими бригадами и идентификаторами. Этот ответ на аналогичный вопрос, https://stackoverflow.com/a/9951200/633513, показал, как вы можете использовать полнотекстовый поиск по нескольким таблицам. Я хотел бы сделать то же самое, за исключением того, что мне просто нужны соответствующие матчи. Это возможно?релевантность поиска по нескольким связанным таблицам
Таблица структуры:
Cards: id as INT, title as VARCHAR(50)
Brigades: id as INT, brigade as VARCHAR(50)
Identifier: id as INT, identifier as VARCHAR(50)
Регистрация Таблицы:
CardBrigades: id as INT, card_id as INT, brigade_id as INT
CardIdentifiers: id as INT, card_id as INT, identifier_id as INT
Примеры Идентификаторы:
Angel
Animal
Archer
Army
Assyrian
Babylonian
Based on Prophecy
Beast
Bows, Arrows, Spears, Javelins and Darts
Canaanite
'Capture' in Special Ability
'Censer' in Title
Chief Priest
Child of Leah
Commander
Connected to David
Connected to Demons
'Covenant' in Title
'David' in Title
'David' in Verse
Deacon
Prince
Примеры Бригады:
None
Black
Brown
Crimson
Gold (Evil)
Gray
Orange
Pale Green
Multi (Evil)
Blue
Gold (Good)
Green
Purple
Red
Silver
Teal
White
Multi (Good)
Multi
Эта структура таблицы фактически не показывает отношения. Имеются ли в карточках столбцы для значений Brigades.id и Identifier.id? Или Бридгадес имеет ценность Card.id? Что-то кажется неправильным. – Ilion
Можете ли вы предоставить некоторые данные образца? Поля VARCHAR включают только «фиолетовый» и т. Д., Или они также могут включать «фиолетовое сердце», которое вы также хотите сопоставить. – liquorvicar
@Ilion извините, я забыл о столах объединения. Я обновил вопрос с ними. – LordZardeck