Я пытаюсь написать функцию поиска для страницы, и есть много таблиц, связанных с моей таблицей франшизы и связанных через идентификатор таблицы франшизы. Таким образом, название города может быть в таблице городов, но город привязан к таблице местоположений, которая привязана к таблице франшизы.
У нас написано внутреннее объединение, и оно выбирает правильные строки, но если термин находится в нескольких таблицах или в нескольких местах в таблице, он возвращает строку каждый раз, когда он найден. Есть ли способ ограничить это. Я думаю, что группа сделает это, но не уверен, где я скажу "GROUP BY franchise.franchise_id"
SELECT * FROM franchises
INNER JOIN
locations
ON
locations.franchise_id = franchises.franchise_id
INNER JOIN
operators
ON
operators.operator_id = franchises.operator_id
INNER JOIN
state_owners
ON
state_owners.state_owner_id = franchises.state_owner_id
WHERE
franchises.franchise_name LIKE :term OR
franchises.franchise_status LIKE :term OR
locations.location_name LIKE :term OR
locations.location_state LIKE :term OR
operators.operator_first_name LIKE :term OR
operators.operator_last_name LIKE :term OR
operators.operator_id LIKE :term OR
state_owners.state_owner_first_name LIKE :term OR
state_owners.state_owner_last_name LIKE :term OR
state_owners.state_owner_owned_state LIKE :term