IN和字符串结合使用的怪问题,急!
一个存储过程中需要将一个包含子查询结果的字符串嵌入IN中执行   
 declare   @s   varchar(50) 
 set   @s   =    '888,889,890 '      --这里我直接赋值了,实际是从另一个查询语句得到的 
 select   *   from   EmpNow_State   where   id   in   (@s) 
 报错: 
 服务器:   消息   245,级别   16,状态   1,行   3 
 将   varchar   值    '888,889,890 '   转换为数据类型为   int   的列时发生语法错误。 
------解决方案----------------------用动态SQL,如下:   
 declare @s varchar(50),@s2 varchar(8000) 
 set @s =  '888,889,890 '  --这里我直接赋值了,实际是从另一个查询语句得到的   
 set @s2= 'select * from EmpNow_State where id in (  ' + @s +  ') ' 
 exec (@s2)