0

我想在动态查询中使用 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')'
4

1 回答 1

0

我想这就是你要找的

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

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')
于 2015-05-05T09:59:15.693 回答