Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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# 如何在动态查询中使用IN运算符_C#_Sql Server 2008_Dynamicquery - Fatal编程技术网

C# 如何在动态查询中使用IN运算符

C# 如何在动态查询中使用IN运算符,c#,sql-server-2008,dynamicquery,C#,Sql Server 2008,Dynamicquery,我想在动态查询中使用in运算符。目前,我需要有人指出正确的方向,如何构造撇号来分隔值,以便它们不会干扰动态查询结构的撇号。这是查询中给出问题的一部分,因此我需要知道如何放置分隔符,以便所有值都可以包含在动态查询格式中,而不是我现在使用的常规查询格式中 WHERE ai.ImNumber != me.Company AND me.ID IN ('value1','value2','value2','value3','value4','value5')' 我的问题是 SET @SQLS

我想在动态查询中使用in运算符。目前,我需要有人指出正确的方向,如何构造撇号来分隔值,以便它们不会干扰动态查询结构的撇号。这是查询中给出问题的一部分,因此我需要知道如何放置分隔符,以便所有值都可以包含在动态查询格式中,而不是我现在使用的常规查询格式中

WHERE ai.ImNumber != me.Company 
    AND me.ID IN ('value1','value2','value2','value3','value4','value5')' 
我的问题是

SET @SQLString = 'select me.EventID , ai.AggregateInfo, '''+@DateBegin+''' AS DateBegin, '''+@EDateEnd+''' AS DateEnd 
FROM tbl_MajorEarners me 
INNER JOIN tbl_currentearners e ON e.EventID = me.EventID 
INNER JOIN tbl_AggregateInfo ai ON ai.AggregateID = cs.ItemID 
WHERE ai.ImNumber != me.CompanyNUmber 
AND me.ID IN ('value1','value2','value2','value3','value4','value5')'

我想这就是你要找的

SET @SQLString = 'select me.EventID , ai.AggregateInfo, ''@DateBegin'' AS DateBegin, ''@EDateEnd'' AS DateEnd 
FROM tbl_MajorEarners me 
INNER JOIN tbl_currentearners e ON e.EventID = me.EventID 
INNER JOIN tbl_AggregateInfo ai ON ai.AggregateID = cs.ItemID 
WHERE ai.ImNumber != me.CompanyNUmber 
AND me.ID IN (''value1'',''value2'',''value2'',''value3'',''value4'',''value5'')'
将@SqlString设置为


这是针对mysql还是sql server的?请添加有关您的问题的更多详细信息?您最多有5个动态值吗?您的问题不清楚我正在使用SQLServer2008,这是我的动态查询“SET@SQLString=”选择me.EventID,ai.AggregateInfo,“++@DateBegin+”作为DateBegin,“+@EDateEnd+”作为日期结束,来自tbl_MajorLearners me内部加入tbl_currentearners e ON e.EventID=me.EventID内部加入tbl_AggregateInfo ai ON ai.AggregateID=cs.ItemID,其中ai.ImNumber!=“value1”、“value2”、“value2”、“value3”、“value4”、“value5”中的me.CompanyNUmber和me.ID@anchor不会在评论中添加其他信息。您可以编辑问题。如果查询中定义了5个值,为什么需要动态sql?
select me.EventID , ai.AggregateInfo, '@DateBegin' AS DateBegin, '@EDateEnd' AS DateEnd 
FROM tbl_MajorEarners me 
INNER JOIN tbl_currentearners e ON e.EventID = me.EventID 
INNER JOIN tbl_AggregateInfo ai ON ai.AggregateID = cs.ItemID 
WHERE ai.ImNumber != me.CompanyNUmber 
AND me.ID IN ('value1','value2','value2','value3','value4','value5')