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 a.*
from a
where charindex(',' + cast(a.id as varchar) + ',' ,
',' + (select ids from b xxx) + ',') > 0