我需要做的是从公司和标签表和上市公司搜索。
我的表格结构如下;
标签(标签ID,标签)
标记关系(标记ID,公司ID)
公司(公司ID、公司名称、公司描述)
查询应该能够搜索公司信息(名称、说明)和标记。如果搜索标签,相关公司应返回。

最佳答案

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

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

关于php - 用子查询搜索多个表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1633498/

10-10 23:35