当前表
EmployeeID CompanyID EmployeeCode EmployeeName
1001 C001 11919 ABC
1002 C001 10974 PQR
1003 C001 11890 XYZ
1004 C001 11621 LMN
像这样查询...
DECLARE @Empid VARCHAR(MAX)
SELECT @Empid= COALESCE(@Empid +',','')+''''+EmployeeID+'''' FROM cmsEmployee WHERE employeeCode IN('11919','10974','11890','11621' )
print @Empid
SELECT * FROM cmsEmployee WHERE EmployeeID IN( @Empid)
这不起作用,为什么?
它不起作用,因为你不能将单个字符串放入in
子句并期望引擎解析它。
您只能在其中输入多个单个值,就像在第一个查询中使用它时所做的那样。
where id in ('1','2') -- works beause that are two SEPERATE values
where id in ('1,2') -- works not because it is ONE string
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)