搜索结果 - 多个表

  • 本文关键字:搜索结果 php mysql
  • 更新时间 :
  • 英文 :


我想编写一个查询来搜索多个表(新闻、文章、项目、文件)

在搜索时,我发现了这个

SELECT title, post FROM news WHERE MATCH (title,post) AGAINST ('press');

我测试了它并且它正在工作,但我未能将其扩展到多个表。

如何编写一个查询,返回多个表的搜索结果?

一种方法是使用union

SELECT title, post FROM news WHERE MATCH (title,post) AGAINST ('press')
UNION
SELECT title, post FROM articles WHERE MATCH (title,post) AGAINST ('press')
UNION
SELECT title, post FROM projects WHERE MATCH (title,post) AGAINST ('press')
UNION
SELECT title, post FROM files WHERE MATCH (title,post) AGAINST ('press')

现在,这基本上变成了一个伪表,所有记录都合并到一个数据集中。

这是一种方法。我不确定匹配的作用,但是在你也可以的地方你的匹配功能

Select Table1.Title, Table2.Post FROM Table1, Table2 WHERE Table1.Title = 'press' AND Table2.Title = 'press'

此查询将为您提供 2 个表中的标题和帖子,这两个表都有新闻。

看看这个查询,你可以这样用——

SELECT *
FROM news t1, articles t2, projects t3, files t4 WHERE MATCH ( t1.title, t1.post)
AGAINST ('press')  or Match(t2.title,t2.post) AGAINST('press')

并在MATCH()函数中设置要搜索的所有列。

你可以试试这个,它可能对你有帮助。

相关内容

  • 没有找到相关文章

最新更新