这很难解释,但我有一个表(租户),其中有一个名为占用者的列。我想知道列中的值是完全/部分匹配另一个表中的值(令人反感)只有一个名为bad_words的列。
即
tbl_Tenant.Occupant
------------------
Julia f*t
P*y Girl
Gary A*e
tbl_Offensive.bad_words
---------
s*t
f*t
p*y
a*e
我知道以下查询不正确,但我正在尝试做类似的事情,但无法想出编写脚本的正确方法。
select * from tbl_tenant t
where t.occupant like '%(select o.bad_words from tbl_offensive o)%'
有人可以帮忙!
答案 0 :(得分:2)
此主题非常相似:SQL: Join tables on substrings
为您的表格翻译:
Select *
From tbl_Tenant t
Inner Join tbl_Offensive As o
on ( o.bad_words like '%'+t.Occupant+'%' )
答案 1 :(得分:1)
最重要的是:
Select *
From tbl_Tenant As T
cross join tbl_Offensive As O
Where ( O.bad_words like '% ' + T.Occupant + ' %' )
Or
( O.bad_words like T.Occupant + ' %' )
Or
( O.bad_words like '% ' + T.Occupant )