关于用 SQL 搜索标签

大佬们好。

对于一些论文,常常有一些交叉的关键词,我对这些关键词都加上了标签。比如文章 A 使用关键词 1 来处理关键词 2,文章 B 使用关键词 1 来处理关键词 3,文章 C 使用关键词 3 来处理关键词 1(文章很多,此处就举这么多个例子)。如果想要用 SQL 语句搜索既有关键词 1,又有关键词 3 的文章,应该怎么写?

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250
    订阅者

    比如文章 A 使用关键词 1 来处理关键词 2

    这里没有看明白。

    1 回复
  • ellisgege666
    订阅者 作者

    对于一些论文,常常有一些交叉的关键词,我对这些关键词都加上了标签。比如文章 A 有关键词 1关键词 2 ,文章 B 有关键词 1关键词 3 ,文章 C 有关键词 3关键词 1 (文章很多,此处就举这么多个例子)。如果想要用 SQL 语句搜索既有关键词 1 ,又有关键词 3 的文章,应该怎么写?

    标签我是这样加的:image.png

    1 回复
  • 88250
    订阅者

    select * from blocks where content like '%关键词1%' and content like '%关键词3%'

    1 回复
  • ellisgege666
    订阅者 作者

    如果在这个基础上还要找“研究目标”呢?

    1 回复
  • 88250
    订阅者

    select * from blocks where content like '%关键词1%' and content like '%关键词3%' and content like '%研究目标%'

    1 回复
  • ellisgege666
    订阅者 作者

    我的意思是。。。研究目标是其中的一个块,要找这个块。。。抱歉我没表达清楚

    1 回复
  • 88250
    订阅者

    我不明白你意思……

    1 回复
  • ellisgege666
    订阅者 作者

    对于一些论文,常常有一些交叉的关键词,我对这些关键词都加上了标签。比如文章 A 有关键词 1关键词 2 ,文章 B 有关键词 1关键词 3 ,文章 C 有关键词 3关键词 1 (文章很多,此处就举这么多个例子)。如果想要用 SQL 语句搜索既有关键词 1 ,又有关键词 3 的文章中的内容块”研究目标“,应该怎么写?

    image.png

    1 回复
  • 88250
    订阅者

    你想要的是不只搜索出“研究目标”而且需要研究目标这个标题下的子块对吧?

    1 回复
  • ellisgege666
    订阅者 作者

    没错!

    1 回复
  • 88250
    订阅者

    select * from blocks where parent_id in (select id from blocks where content like '%foo%' and type = 'h') or content like '%foo%' and type = 'h'

    foo 是标题内容。

    2 回复
  • ellisgege666
    订阅者 作者

    额,那关键词加在哪里呀。。。

  • ellisgege666
    订阅者 作者

    抱歉哈我不太懂 SQL

  • 88250
    订阅者

    试试这个 select * from blocks where parent_id in (select id from blocks where content like '%标题内容%' and type = 'h') or content like '%标题内容%' and type = 'h' and content like '%关键字1%' and content like '%关键字2%'

    1 回复
  • ellisgege666
    订阅者 作者

    好像不太对,我感觉那个 or 是不是写的有点问题

    image.png

    image.png

    1 回复
  • 88250
    订阅者

    可能有问题,麻烦自己折腾下,不好意思了。

请输入回帖内容 ...