繁体   English   中英

SQL Server中的条件问题

[英]IN Condition Issue in SQL Server

我想在IN条件下的过程中使用多个输入。 我怎样才能做到这一点?

下面是我的查询代码。

Declare @iM_ID varchar(100)
set @iM_ID='20,22,24,25'
select @iM_ID
SELECT M.M_ID,    
SUM(CASE WHEN CT_ID=1     
         THEN 1
         ELSE 0 END) AS "Secret_Coupons",    
SUM(CASE WHEN CT_ID=2     
         THEN 1
         ELSE 0 END) AS "Hot_Coupons"    
FROM C_Master     
 INNER JOIN M_Master     
  ON C_Master.M_ID=M_Master.M_ID 
   and datediff(hh,getutcdate(),End_Datetime)>0  
   and M_Master.M_ID in (@iM_ID)
GROUP BY M_Master.M_ID    

这样尝试

DECLARE @sql AS VARCHAR(MAX)
Declare @iM_ID varchar(100)
SET @iM_ID='20,22,24,25'

SET @sql = 'SELECT M.M_ID,SUM(CASE WHEN CT_ID=1 THEN 1 ELSE 0 END) AS "Secret_Coupons",    
                          SUM(CASE WHEN CT_ID=2 THEN 1 ELSE 0 END) AS "Hot_Coupons"    
            FROM C_Master INNER JOIN M_Master ON C_Master.M_ID=M_Master.M_ID 
                          AND datediff(hh,getutcdate(),End_Datetime)>0 AND 
            M_Master.M_ID IN ( ' + @iM_ID + ')
GROUP BY M_Master.M_ID'    

EXECUTE @sql

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM