我有两张桌子。在Table1中有一个nvarchar A,在Table2中有nvarchar B,它是nvarchar A的一部分,如下所示。
Table1
nvarcharA
'This is super test sample'
Table 2
nvarcharB
'super'我尝试做的是列出表2中的所有记录,这些记录出现在来自Table1的任何记录中。
我已经试过了:
select CHARINDEX(nvarcharB, nvarcharA) as A from Table1或
select nvarcharA from Table1
where exists (select nvarcharB from Table2)遗憾的是,这些都不起作用。在join语句中没有绑定它们的ID。
有谁知道有用的解决方案吗?
发布于 2018-02-14 21:20:12
您正在寻找类似以下内容的内容:
select t2.*
from Table2 t2
where exists (select 1
from Table1 t1
where t1.col like '%' + t2.col + '%'
);发布于 2018-02-14 21:56:37
如果您纯粹想从Table1获得结果(如果Table2中有匹配),那么您可以在连接中“简单地”使用LIKE语句
您可能会得到以下结果:
SELECT
nvarcharA,
nvarcharB
from [Table 1]
inner join [table 2]
ON [table 1].nvarcharA like '%' + [table 2].nvarcharB + '%'您可以使用like语句中使用的变量。(无论它是否应该开始,结束,或如示例中的数据中的任何位置。
https://stackoverflow.com/questions/48788197
复制相似问题