SELECT Name
FROM Names n
WHERE EXISTS (SELECT NameIDs FROM NameList nl WHERE n.nameID LIKE '%'+nl.nameIDs);
我正在尝试查询此表,它似乎只返回第一个值。名称列表是一个逗号分隔值单元格,可以多次出现。
我想知道是否有人可以提供帮助。
如果它的逗号分隔,那么您也需要在 nl.nameIDs 之后使用通配符 %,因为该值可以出现在逗号分隔字符串中间的任何位置。
SELECT Name
FROM Names n
WHERE EXISTS (SELECT NameIDs FROM NameList nl WHERE n.nameID LIKE '%'+nl.nameIDs+'%');
我认为你有倒过来的比较。尝试这个:
SELECT Name
FROM Names n
WHERE EXISTS (SELECT NameIDs FROM NameList nl WHERE ','+nl.nameIDS+',' like '%,'+n.nameID+',%'