1
我需要做的是从公司和标签表和上市公司搜索。用子查询搜索多个表
我的表格结构如下;
标签(TAG_ID,标签) tag_relation(TAG_ID,COMPANY_ID) 公司(COMPANY_ID,COMPANY_NAME,company_description)
查询应能同时搜索公司信息(名称,描述)和标签。如果搜索标签,相关公司应该返回。
我需要做的是从公司和标签表和上市公司搜索。用子查询搜索多个表
我的表格结构如下;
标签(TAG_ID,标签) tag_relation(TAG_ID,COMPANY_ID) 公司(COMPANY_ID,COMPANY_NAME,company_description)
查询应能同时搜索公司信息(名称,描述)和标签。如果搜索标签,相关公司应该返回。
假设你想运行“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
感谢,但我得到的错误1064有没有办法做到这一点与寻找到的公司表,这在与子查询检查是否有与它相关的标签.. – 2009-10-27 20:51:06
对不起我的错..似乎工作正常!非常感谢! – 2009-10-27 21:01:23