Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 插入静态元素|动态|选择|随机|顶部以获得良好的测量效果_C#_Sql_Tsql_Ado.net - Fatal编程技术网

C# 插入静态元素|动态|选择|随机|顶部以获得良好的测量效果

C# 插入静态元素|动态|选择|随机|顶部以获得良好的测量效果,c#,sql,tsql,ado.net,C#,Sql,Tsql,Ado.net,嗨,我正在做一个奇怪的项目,它把我带到了一些奇怪的地方,我又来了。基本上有一个大约100个奇数控件的搜索条件,每个都可以嵌套多个或的多选列表框。。。我不喜欢使用动态SQL,但由于应用程序的性质,我觉得有必要编写一个相当短的C后端,这是在ASP中,用于检查选择的控件,获取控件的名称值(即列名),并构建一个动态where子句。。。例如 从[RT2DBSQL_Review].[dbo].[Responder]中选择排名前50000的[lname]作为“最后一名”,“fname]作为“第一名”,“电话”

嗨,我正在做一个奇怪的项目,它把我带到了一些奇怪的地方,我又来了。基本上有一个大约100个奇数控件的搜索条件,每个都可以嵌套多个或的多选列表框。。。我不喜欢使用动态SQL,但由于应用程序的性质,我觉得有必要编写一个相当短的C后端,这是在ASP中,用于检查选择的控件,获取控件的名称值(即列名),并构建一个动态where子句。。。例如

从[RT2DBSQL_Review].[dbo].[Responder]中选择排名前50000的[lname]作为“最后一名”,“fname]作为“第一名”,“电话”,“wphone”,“传真”,“手机”,“电子邮件”,“state”,“zip”,“state_w”,“zip_w”,“employer”,“CONVERTchar”,“datebirth”,“101”,其中教育='5',种族='H'和小时数='1'和',+CC5如“%”,2,%%或“,+CC5如“%”,26,%%或“,+CC5如“%”,12,%'和','+CC6类似''%9',%'或','+CC6类似''%23',%'和','+CC4类似''%3',任天堂DS,%'和性别='M'和Pro_resp为空

这将被选中并绑定一个网格以显示匹配的人员

下一步是。假设有1000个可行的申请者,选择x个随机申请者,并从应答表中插入动态值,见下表,静态jobnum,静态配额,同时输入疯狂ass where子句。我有所有这些单独的部分,但是我在一起工作时遇到了麻烦

比如:

创建EMP过程 @jobnum varchar100, @配额varchar100, @X int, @动态varcharmax 像 插入[RT2DBSQL\U审查].[dbo].[tbl\U工作调查对象] [工作编号] ,[job\u resp\u答辩人] ,[职务名称] ,[job\u resp\u phone] ,[job\u resp\u wphone] ,[job\u resp\u wphone\u ext] ,[job\u resp\u手机] ,[job\u resp\u call\u status] ,[job\u resp\u scheduled] ,[job\u resp\u招募人] ,[job\u resp\u part\u status] ,[job_resp_coop_amt] ,[job\u resp\u amt\u paid] ,[job\u resp\u status] ,[job\u resp\u part\u check\u no] ,[job_resp_session] ,[job\u resp\u date\u] ,[招聘职位和日期] ,[职位和配额] ,[job\u resp\u source] ,[工作已确认] ,[job\u resp\u转介人] ,[查询\打印\字段] ,[job\u resp\u exported] ,[工作说明] ,[job\u resp\u childname] 价值观 @乔布纳姆 ,选择TOP@X RecordId ,lname+','+fname 电话 ,wphone ,wphone_ext 手机 “0”-静态 ,0-静态 ,-静态 ,-静态 ,0-静态 ,0-静态 “0”-静态 ,空静态 ,空静态 ,GETDATE ,GETDATE ,@配额 “Q”-静态 ,空静态 ,空静态 ,0-静态 ,0-静态 无效的 ,null/*静态*/来自响应者 @Dynamic在哪里 纽伊德订购 去

另一种方法是将select上的所有内容加载到数组列表中??有什么想法吗?我脑子里有个屁


提前感谢您的帮助

首先,我强烈建议您将SQL视为任何其他代码,并为其添加一致的格式

这就是说,下面的技巧应该从您已经拥有的50000条第一条记录中随机挑选1000条记录

SELECT TOP(1000) *
FROM (
    SELECT TOP 50000 [lname] as 'last'
      , [fname] as 'first'
      , [phone]
      , [wphone]
      , [fax]
      , [cellphone]
      , [email]
      , [state]
      , [zip]
      , [state_w]
      , [zip_w]
      , [employer]
      , CONVERT(char, [datebirth], 101)
      , RAND() as priority
    FROM [RT2DBSQL_Review].[dbo].[Respondent]
    WHERE (education = '5' )
      AND (race = 'H' )
      AND (hours = '1' )
      AND (',' + CC5 like '%,2,%' or ',' + CC5 like '%,26,%' or ',' + CC5 like '%,12,%')
      AND (',' + CC6 like '%,9,%' or ',' + CC6 like '%,23,%')
      AND (',' + CC4 like '%,Nintendo DS,%') and (gender = 'M')
      AND Pro_resp is null
  ) full_sample
ORDER BY priority
基于此,创建插入不应该太糟糕。这将是一场混乱,但有时这就是生活。更重要的是,这是一个重复的混乱,重复意味着你可以模板它