Поиск в нескольких таблицах с помощью подзапроса - PullRequest
1 голос
/ 27 октября 2009

Что мне нужно сделать, так это поиск по компаниям и таблицам тегов и спискам компаний.

Моя структура таблицы следующая:

теги (tag_ID, тег) tag_relation (tag_ID, company_ID) компании (company_ID, company_name, company_description)

В запросе должна быть возможность поиска информации о компании (название, описание) и тегов. При поиске по тегу соответствующие компании должны вернуться.

1 Ответ

2 голосов
/ 27 октября 2009

Предполагая, что вы хотите запускать "похожие" поиски, вы можете использовать код ниже. Если у вас очень большие таблицы, производительность может быть довольно плохой, потому что подстановочные знаки не позволяют использовать индексы.

select     companies.company_id, companies.company_name, companies.company_description
from       companies
inner join tag_relation
on         companies.company_id = tag_relation.company_id
inner join tags
on         tags.tag_id = tag_relation.tag_id
where      companies.company_name like '%something%'
or         companies.company_description like '%something%'
or         tag.tag like '%something%'
group by   companies.company_id, companies.company_name, companies.company_description
order by   companies.company_name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...