当前位置: 代码迷 >> Sql Server >> SQL select in 在逃查询
  详细解决方案

SQL select in 在逃查询

热度:51   发布时间:2016-04-24 20:05:58.0
SQL select in 潜逃查询
select * from A where ID In 
( SELECT IDs  FROM B where XXX )

( SELECT IDs  FROM B where XXX )查询结果为 666,667 是字符串

想要外层查询ID在第一个范围内该怎么做呢??

直接写报错

消息 245,级别 16,状态 1,第 1 行
在将 nvarchar 值 '666,667' 转换成数据类型 int 时失败。



select?in?

------解决方案--------------------
引用:
只能传在where之后的语句,头疼啊


是这样的吗:


select a.* 
from a 
where charindex(',' + cast(a.id as varchar) + ',' , 
               ',' + (select ids from b xxx) + ',') > 0


  相关解决方案