【发布时间】:2014-04-29 16:12:41
【问题描述】:
我有一个表,其中包含需要搜索的字符串 [如下图]
表A
之后,我有一个存储数据的表 [如下图]
表B
而搜索功能的作用是仅当记录包含 TableA 中的字符串时才从 TableB 中进行选择 [i.e.预期的结果应该如下图(TableC)]
TableC
我尝试过使用下面的SQL,但是SQL在尝试运行[Incorrect syntax near 'select']时出现了一些错误,而且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))
【问题讨论】:
-
我不太确定答案,但我认为您必须在表 2 上使用
LIKE,您所使用的表达式将来自表 1。 -
但是如何“喜欢”多个值进行搜索?
-
包含函数,第二个参数需要文本。您不能在其中使用 Select 。这里有一些信息 (msdn.microsoft.com/query/…)
标签: sql sql-server aggregate-functions