我正在尝试对表中字段的文本包含在变量中进行查询。
示例:
表A
ID Ref Processed
----|-----------------|---------
1 | I want a pool | 0
2 | I want a bike | 0
表B
ID Text
----|---------------
1 | pool
2 | bike
将TableA
中所有未经处理的行转换为#tempTable
select * into #tmpTable from TableA where processed = 0
然后我在#tmpTable
中的每一行循环,并将@Variable
设置为当前字段Ref
。
首次通过@Variable = 'I want a pool'
然后@Variable = 'I want a bike'
。
然后我需要查询TableB
Text
字段包含在@Variable
内的select * from TableB where @Variable LIKE '% '+Text+' %'
并选择该行。
我知道以下内容不起作用,但这是我需要结束的地方:
{{1}}
我正在编辑现有的存储过程,所以如果有更好的方法可以解决这个问题,那么我会对所有建议持开放态度。
答案 0 :(得分:2)
这是你在找什么?
select a.*, b.text
from tableA a join
tableB b
on a.processed = 0 and
ref like '%'+b.text+'%';
编辑:
如果要匹配以空格分隔的单词:
on a.processed = 0 and
' '+ref+' ' like '% '+b.text+' %';