如何在SQL中使用关键字实现搜索概念

时间:2017-11-17 10:17:04

标签: sql sql-server sql-server-2012

任何人都可以指导如何在SQL中实现关键字搜索概念。那里只有“Like”运算符或其他任何选项吗?

示例: - 表:

关键字 - 问题 - 答案

  • 哪里,笔 - 我的笔在哪里? - 笔在桌子上
  • 在哪里,笔,保持 - 你保留笔的地方 - 笔在下面 表

输入 - 我的笔在哪里? 输出应该是 - “笔在桌子上”

在这部分中,我必须从输入中拆分关键字并使用db检查关键字以发送输出。我应该只从上面得到一个输出。因为在第二行中值也有“where,pen”关键字

有人可以建议如何实施这种逻辑。 我想知道如果任何关键字创建选项可以在SQL部分本身完成。

1 个答案:

答案 0 :(得分:0)

您不希望将关键字存储在以逗号分隔的列表中。相反,您需要一个单独的表,例如QuestionKeywords

create table QuestionKeywords (
    QuestionKeywordsId int identity(1, 1) primary key,
    QuestionId int not null references Questions(QuestionId),
    Keyword varchar(255),
    constraint unq_QuestionKeywords_QuestionId_Keyword unique (QuestionId, Keyword)
);

然后,您可以使用相等或in搜索关键字。