我有两个表名为表 A 和表 B。表 A 是单词列表,表 B 是与这些单词相关的文档列表。我需要进行搜索,以检索哪些文档具有我要查找的所有单词或其中一些单词。
表结构和数据示例如下:
Declare @TableA Table (IdWord Int, Word Varchar(100))
Declare @TableB Table (IdProcess Int, IdWord Int, Document Varchar(100))
Insert Into @TableA Values (1, 'A');
Insert Into @TableA Values (2, 'B');
Insert Into @TableA Values (3, 'C');
Insert Into @TableA Values (4, 'D');
Insert Into @TableA Values (5, 'E');
Insert Into @TableB Values (1, 1, 'Document 1.doc');
Insert Into @TableB Values (1, 2, 'Document 1.doc');
Insert Into @TableB Values (1, 3, 'Document 1.doc');
Insert Into @TableB Values (1, 4, 'Document 1.doc');
Insert Into @TableB Values (2, 1, 'Document 2.doc');
Insert Into @TableB Values (2, 2, 'Document 2.doc');
Insert Into @TableB Values (3, 5, 'Document 3.doc');
我一直在思考如何解决以下逻辑:
(Word='A' And Word='B' And Word='C') Or Word='E'
结果应该是 Document 1.doc (因为虽然它有超过 3 个单词,但它包含我要查找的所有 3 个单词)和 Document 3.doc (因为或运算符)
有任何想法吗?