SQL查询帮助 - LIKE语句

时间:2013-04-17 15:52:15

标签: sql string where exists sql-like

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

我认为你有倒退的比较。试试这个:

SELECT  Name
FROM    Names n
WHERE   EXISTS (SELECT NameIDs FROM NameList nl WHERE ','+nl.nameIDS+',' like '%,'+n.nameID+',%'