0
SELECT  Name
FROM    Names n
WHERE   EXISTS (SELECT NameIDs FROM NameList nl WHERE n.nameID LIKE '%'+nl.nameIDs);

我正在尝试查询此表,它似乎只返回第一个值。名称列表是一个逗号分隔值单元格,可以多次出现。

我想知道是否有人可以提供帮助。

4

2 回答 2

2

如果它的逗号分隔,那么您也需要在 nl.nameIDs 之后使用通配符 %,因为该值可以出现在逗号分隔字符串中间的任何位置。

SELECT  Name
FROM    Names n
WHERE   EXISTS (SELECT NameIDs FROM NameList nl WHERE n.nameID LIKE '%'+nl.nameIDs+'%');
于 2013-04-17T15:55:29.160 回答
0

我认为你有倒过来的比较。尝试这个:

SELECT  Name
FROM    Names n
WHERE   EXISTS (SELECT NameIDs FROM NameList nl WHERE ','+nl.nameIDS+',' like '%,'+n.nameID+',%' 
于 2013-04-17T15:54:18.537 回答