日期:2014-05-18 浏览次数:20847 次
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 ChannelID 2、然后在程序里在判断下数据集与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'