【问题标题】:fulltext index where contains uses column not text value or variable包含使用列而不是文本值或变量的全文索引
【发布时间】:2013-01-29 12:12:42
【问题描述】:

我正在尝试运行一个查询,其中我在一个列上有一个全文索引,我想运行一个包含语句的查询,其中该列正在寻找与另一个表中的列匹配...而不是静态文本值或变量....这可能吗?

select a.field1, a.field2, c.x, c.y, c.z
from dbo.TableA a
cross apply(select x,y,z
            from dbo.TableB b
            where contains(b.x, a.field1)

c

谢谢!!!!

【问题讨论】:

  • 您是否遇到任何错误?我不明白为什么它不应该工作。

标签: sql indexing contains full-text-search


【解决方案1】:

这种方式是不可能的,但你可以使用它。在这种情况下,我使用 SELECT 语句创建 (|) 分隔列表。可以使用条形符号 (|) 代替 OR 关键字来表示 OR 运算符。

DECLARE @Searchwords nvarchar(4000) = N''
SELECT @Searchwords += '|' + a.field1
FROM dbo.TableA a
SELECT @Searchwords = STUFF(@Searchwords, 1, 1, '')

SELECT b.x, b.y, b.z
FROM dbo.TableB b
WHERE CONTAINS(b.x, @Searchwords)

【讨论】:

    猜你喜欢
    • 2019-12-30
    • 2019-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    相关资源
    最近更新 更多