我得到了下面一段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