读书人

SQL select in 在逃查询

发布时间: 2013-10-27 15:21:50 作者: rapoo

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


读书人网 >SQL Server

热点推荐