我在C#SQL Server中编写搜索功能,我的用户可以选择多个作业组,此功能应检查我的作业表中所有选定的组ID,如何在SQL Server中执行循环操作?这是我的表格一般模式:
id int, jobname varchar, jobgroup int.....
我使用以下查询来选择我的工作(基于工作组):
select * from tblJobs where jobgroup='"+userGroups+"'
只有当userGroups包含一个值时才会出现这种情况,但我的用户可以选择多个组ID,例如我的userGroups可以是这样的:5,7,10,20(userGroups可以包含更多的值)
我应该如何在查询中执行循环操作,以便我可以拥有所有匹配的作业? 我应该连接多个查询的返回值,每个查询都选择一个组ID吗?我认为有更好的方法
答案 0 :(得分:1)
不要在SQL中使用循环 - 循环往往会破坏SQL数据库的性能。
在这种情况下,我相信IN
子句可以做到:
SELECT col1, col2
FROM tblJobs
WHERE jobgroup IN ('"+userGroups+"', '"+userGroup2+"')