asp mssql select where id in() 求高手指点 20
现在有一个mssql表,里面有一个字段记录了多个id值,格式为1,2,3,4,5,...21...现在想通过whereidin(id组)的形式来循环读取所有当前用户id不...
现在有一个mssql表,里面有一个字段记录了多个id值,格式为 1,2,3,4,5,...21...
现在想通过where id in(id组)的形式来循环读取所有当前用户id不在这个字段中的记录。
当这个字段中只有一个 0 的时候,结果是正确的,但是当里面有多个id值的时候,提示转换为int时错误。
谁有解决办法,求赐教,感谢
sql=“select * from [table] where "&request.cookies("userid")&" not in (userlist) order by id desc" 展开
现在想通过where id in(id组)的形式来循环读取所有当前用户id不在这个字段中的记录。
当这个字段中只有一个 0 的时候,结果是正确的,但是当里面有多个id值的时候,提示转换为int时错误。
谁有解决办法,求赐教,感谢
sql=“select * from [table] where "&request.cookies("userid")&" not in (userlist) order by id desc" 展开
1个回答
展开全部
创建表,数据:(要查t表在s的id列表中不存在的数据)
create table t
(id int)
create table s
(userlist varchar(100))
insert into t values (1)
insert into t values (3)
insert into s values ('1,2')
执行:
select * from t where id not in
(select
SUBSTRING(userlist,number,CHARINDEX(',',userlist+',',number)-number) as userlist
from
s,master..spt_values
where
number >=1 and number<=len(userlist)
and type='p'
and substring(','+userlist,number,1)=',')
结果:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |