查询一串id是否在表中的语句怎么写?
一串由id 组成的字符串 '1,5,78,87,656,90'
任何检查其中的每一个id 都在表table的 CMID列中?
[解决办法]
select count(*) from table where cmid in (1,5,78,87,656,90)
[解决办法]
你的意思是一串ID都在表中?
[解决办法]
string id = "1,5,78,87,656,90";
string sql = "select count(*) from table where cmid in ("+id+")";
[解决办法]
判断select count(*) from table where cmid in (1,5,78,87,656,90)返回的是否是6,即是否是"1,5,78,87,656,90".Split(',').Length。当然前提是cmid在表中唯一。
[解决办法]
给你个思路 一句话SQL不会 存储过程的话到可以
1、//先用分组 查找你一串ID的数据 得到一个数据集select ChannelID from dbo.Live_Rec_Task where ChannelID in(1,2,3) group by ChannelID2、然后在程序里在判断下数据集与ID的数量 相等则true 反之则false
[解决办法]
你可以选择 写存储过程 或者 SQL+程序判断。
[解决办法]
string a = "1,5,78,87,656,90";string sql = "select count(1) from table where id in ("+a+")";
[解决办法]
IF ((SELECT count(id) FROM tb WHERE Id IN(4,101,102))!=(SELECT len('4,101,102')-len(replace('4,101,102',',',''))+1)) PRINT 'false' ELSE PRINT 'true'