Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
Sql server sql server 2005-从tbl B的文本字段中包含的tbl A中选择记录_Sql Server_Sql Server 2005 - Fatal编程技术网

Sql server sql server 2005-从tbl B的文本字段中包含的tbl A中选择记录

Sql server sql server 2005-从tbl B的文本字段中包含的tbl A中选择记录,sql-server,sql-server-2005,Sql Server,Sql Server 2005,我正在尝试在MS SQL 2005中计算SQL Select,以执行以下操作: 表A包含关键字列表。。。芦笋、甜菜根、豆类、茄子等(x200)。 表B包含一条带有一些长自由文本(约4000字符)的记录 我知道我选择的是表B中的哪个记录(byID) 但是,我需要从表a中获取包含在表B中记录文本中的记录短名单 我想知道SQLs CONTAINS函数是否有用。。。但也许不是 这需要是一个超级快速的查询 干杯我想试试这个 从表a、表b中选择关键字 其中,表_b.text类似“%”+关键字+“%” 而ta

我正在尝试在MS SQL 2005中计算SQL Select,以执行以下操作:

表A
包含关键字列表。。。芦笋、甜菜根、豆类、茄子等(x200)。
表B
包含一条带有一些长自由文本(约4000字符)的记录

我知道我选择的是
表B
中的哪个记录(byID)

但是,我需要从
表a
中获取包含在
表B
中记录文本中的记录短名单

我想知道SQLs CONTAINS函数是否有用。。。但也许不是

这需要是一个超级快速的查询

干杯我想试试这个

从表a、表b中选择关键字 其中,表_b.text类似“%”+关键字+“%”
而table_b.Id='111'

由于两端都有LIKE和通配符,所以它永远不会超快。你不能索引它,也没有什么花招。但是,因为您已经过滤了TableB,所以它应该是可以接受的。如果你在表格B中有一百万行,你可以一边喝咖啡一边跑

SELECT
    A.KeyWordColumn
FROM
    TableA A
    JOIN
    TableB B ON B.BigTextColumn LIKE '%' + A.KeyWordColumn+ '%'
WHERE
    B.ByID = @ID --or constant etc

如果有全文索引,则可以使用CONTAINS:但对于普通SQL查询,则不能使用CONTAINS

a和b之间的关系在哪里?唯一的关系是由like给出的关系!谢谢你们两位!!!希望它能把事情加快一点。。。我会试试看。在这种情况下,我可以如何使用CONTAINS来加快速度,有什么建议吗。。。感谢收到代码!:)对不起,我从来没有用过FTS。尝试一下这个方法:获取与FTS相关的其他问题