如果有一个包含使用分隔符的连接数据列的表,即 11111_22222_33333(我知道这是不好的做法,但这是我必须使用的数据)
我需要编写一个查询,返回包含特定值 22222 的所有行,其中特定值是子查询的结果。
所以,我正在做的事情如下......
SELECT * FROM myTable WHERE myColumn IN (SELECT [Name] FROM subTable)
这运行但不返回任何结果,因为它专门匹配 1111_2222_3333 到 2222。所以我需要的是一种使用 LIKE 或类似的方法
SELECT * FROM myTable WHERE myColumn LIKE (SELECT [NAME] FROM subTable)
给出错误
Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows
=, !=, <, <= , >, >= or when the subquery is used as an expression.
请问这将如何实现?我正在使用Sql Server 2008 R2 开发,但是解决方案还需要兼容Server 2005