![](/img/trans.png)
[英]How to select from a table in SQL where element in a column contains only one feature of another column which in turn contains two features in itself?
[英]SQL select from table where column contains specific strings
我有一个表,其中包含需要搜索的字符串(如下图所示)
表A
之后,我有一个表来存储数据(如下面的图片所示)
表B
搜索功能的作用是仅在记录包含TableA中的字符串的情况下才从TableB中选择[即,预期结果应类似于image(TableC)
表C
我尝试使用下面的SQL,但是尝试运行[ Incorrect syntax near 'select'
]时,SQL出现了一些错误,而且SQL有点复杂,有什么方法可以使SQL更简单吗?
select * from TableB a
where exists
(select colA from TableB b
where b.colA = a.ColA and Contains (b.ColA, select searchCol from TableA))
其中之一应该根据我的工作
SELECT b.colA
FROM TableB b join TableA a
WHERE colA like '%' + a.ColA + '%';
SELECT b.colA
FROM TableB b join TableA a
WHERE INSTR(b.colA, '{' + a.colA + '}') > 0;
SELECT b.* FROM tblA a,tblB b
WHERE PATINDEX('%'+a.Col+'%',b.Col)>0
我已经搜索了PATINDEX和LIKE之间的性能差异,但没有得出确切的答案,有人说当不能使用索引时PATINDEX更快,这是当要搜索的模式包含在通配符中时,例如'%'+ a.Col +' %',而其他帖子提到他们可以达到类似的效果。
也许有些SO SQL向导可以看水晶球并向我们展示光
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.