sql-server - 全文包含来自另一个表的列
问题描述
我需要搜索大于 4000 个字符的文本。
这是我尝试做的选择,而不是在包含中放置一个很长的字符串:
;WITH cte AS
(
SELECT code
FROM table_a
)
SELECT *
FROM cte
CROSS APPLY
(SELECT *
FROM table_b
WHERE CONTAINS(table_b.field, cte.code)) c
但这种方法不起作用。
任何帮助将不胜感激。
谢谢
解决方案
游标可以解决问题,但您应该了解对性能的影响,具体取决于您的数据。
更多详细信息:通过 table_a 进行游标循环。对于每个循环,为代码设置一个变量。使用该代码作为 CONTAINS 函数的参数。如果匹配,则将 code 和 table_b.id 的值插入到临时表中。在所有循环之后,您将在临时表中获得结果。
推荐阅读
- django - 我想将匹配项分配给我在 django admin 中选择的用户
- ios - 等待新数据时的 UIPageViewController 缓存问题
- google-cloud-platform - 我们如何在 GCP composer enviornment(1.10.6) 中使用 SFTPToGCSOperator?
- c - 在结构中传递数组
- node.js - 请求在 Chrome、Insomnia、Postman 等中可以正常运行,但在 Node 中却不行
- python-2.7 - botocore.vendored.requests.exceptions.ConnectionError: ('Connection aborted.', error(61, 'Connection denied')) 在运行 boto3 多部分 API 时
- r - ggplot2 创建曲线下方渐变的阴影区域
- angular - 在 Angular 9 中使用 AG Grid(社区)行中的数组
- python - 仅当python中的变量为真时才执行函数?
- c++ - 在 C 程序中调试 case 语句(子句不会运行)