我得到了下面一段SQL代码,它给了我一个标题错误。错误:子查询返回多个值
WHERE
(SELECT Tokens FROM StringSplitter(@DocumentValue, '|', 1)) IN
(SELECT Tokens FROM StringSplitter(@sortValue, '|', 1))
凡@DocumentValue和@sortValue是由分隔符隔开两个连接的字符串(在这种情况下,“|”)。
StringSplitter函数返回每个单独字符串的表。例如Fox | Brown | SQL将返回一个包含三条记录的表:Fox,Brown和SQL。
我想发生是两组字符串对比,将它们插入到另一个表(因此WHERE),如果任何来自@DocumentValue各个串的匹配任何从@sortValue的个体线。
此实现有缺陷。如果@DocumentValue和@sortValue包含多个匹配的字符串,则查询失败,并返回给定的错误。
这么说,我怎么能解决这个错误,考虑到我不在乎匹配其中值,只要我知道要不要至少人做?
SQL Server 2008中
哪个数据库? – pascal 2010-07-23 15:11:58
好点。 T-SQL,SQL Server 2008.我会去编辑它。 – 2010-07-23 15:12:26