У меня есть следующий фрагмент кода SQL, который дает мне титульную ошибку.Ошибка: SubQuery возвратил больше одного значения
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
хорошо пункт. T-SQL, SQL Server 2008. Я буду редактировать это. –