使用子查询搜索多个表

发布于 2024-08-08 22:38:08 字数 163 浏览 1 评论 0原文

我需要做的是从公司和标签表中搜索并列出公司。

我的表结构如下;

标签(tag_ID、标签) tag_relation(标签_ID、公司_ID) 公司(公司 ID、公司名称、公司描述)

查询应该能够搜索公司信息(名称、描述)和标签。如果标签被搜索,相关公司应该返回。

What I need to do is searching from companies and tags table and listing companies.

My table structure is as follows;

tags (tag_ID, tag)
tag_relation (tag_ID, company_ID)
companies (company_ID, company_name, company_description)

The query should be able to search both company info (name, description) and tags. If tag searched, related companies should return.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

祁梦 2024-08-15 22:38:08

假设您想运行“类似”搜索,您可以使用下面的代码。如果您有非常大的表,性能可能会很差,因为通配符会阻止索引的使用。

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

Assuming that you want to run "like" searches you could use the code below. If you have very large tables the performance may be pretty bad because the wild cards will prevent the use of indexes.

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文