【问题标题】:Searching multiple tables with Subquery使用子查询搜索多个表
【发布时间】:2009-10-27 20:36:14
【问题描述】:

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

我的表结构如下;

标签(tag_ID,标签) tag_relation (tag_ID, company_ID) 公司(company_ID、company_name、company_description)

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

【问题讨论】:

    标签: php mysql join subquery


    【解决方案1】:

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

    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
    

    【讨论】:

    • 谢谢,但我收到错误 1064。有没有办法通过查找公司表来做到这一点,并且在检查子查询时是否有与之相关的标签..
    猜你喜欢
    • 1970-01-01
    • 2012-12-08
    • 2014-10-21
    • 2018-11-23
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    相关资源
    最近更新 更多