【发布时间】:2013-02-25 16:10:25
【问题描述】:
我有一些 SQL 可以搜索网站的内容表并根据相关性返回结果:
SELECT *,
( (1.3 * (MATCH(strTitle) AGAINST ('+query+string' IN BOOLEAN MODE))) + (0.6 * (MATCH(txtContent) AGAINST ('+query+string' IN BOOLEAN MODE)))) AS relevance
FROM content
WHERE (MATCH(strTitle,txtContent) AGAINST ('+query+string' IN BOOLEAN MODE) )
ORDER BY relevance DESC
我需要扩展它以包含另外 2 个表。
我需要搜索一个表 trade_members 的 2 个字段:
公司名称 |联系人姓名
还有一个表格news的2个字段:
news_title |新闻内容
然后一举将结果按相关性排序。如何将这些表格合并到我的结果中?
【问题讨论】:
-
您的意思是使用
JOIN表搜索吗? -
不是真的,按照我的看法,我需要将 3 个表中的每一个中的 2 个可搜索列组合成一个虚拟表,然后对其执行上述查询,所以我只得到一个显示一切的结果集
-
听起来你可以使用 UNION (假设我明白你想要什么)。 UNION 可以将来自多个 SELECT 语句的结果组合成一个结果集。
标签: mysql