Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 搜索相关表中的字段_Mysql_Sql_Database - Fatal编程技术网

Mysql 搜索相关表中的字段

Mysql 搜索相关表中的字段,mysql,sql,database,Mysql,Sql,Database,以下是表格主题: 整数id 字符串标签 以下是表格: 整数id 字符串标签 字符串内容 inttopic\u id外键 以下是表格注释: 整数id 字符串内容 字符串项目id外键 现在,我想实现一个搜索函数,该函数将生成所有搜索词(如%term%)包含在 文章的标签或内容 文章主题的标签 属于本文的评论内容 我认为解决方案可能与连接有关,但我完全不知道如何做到这一点。有人能帮忙吗 非常感谢您的帮助 我猜你是个新手,不想实施全文搜索解决方案。因此,一个简单的SQL应该是: select a.*

以下是表格主题:

整数id 字符串标签 以下是表格:

整数id 字符串标签 字符串内容 inttopic\u id外键 以下是表格注释:

整数id 字符串内容 字符串项目id外键 现在,我想实现一个搜索函数,该函数将生成所有搜索词(如%term%)包含在

文章的标签或内容 文章主题的标签 属于本文的评论内容 我认为解决方案可能与连接有关,但我完全不知道如何做到这一点。有人能帮忙吗


非常感谢您的帮助

我猜你是个新手,不想实施全文搜索解决方案。因此,一个简单的SQL应该是:

select a.*
  from topics t
  join articles a on a.topic_id = t.id
  join comments c on c.article_id = a.id
  where a.label like '%term%'
     or a.content like '%term%'
     or t.label like '%term%'
     or c.content like '%term%'

请注意,在处理大量内容或主题、文章或评论时,此SQL解决方案的性能不是很好。但是,它会很好地工作,并且会返回您想要的文章。

您是否考虑过并排除使用全文搜索?它可以很好地满足您的需要。@O.Jones他的问题是如何组合表,而不是如何匹配字段本身。是的,它与连接有关。如果你不知道如何进行连接,你需要阅读一本好的SQL教程,这不是一所编程学校。太好了!非常感谢。