Sql server 在where子句中使用Case语句选择多个值
我试图在T-SQL中实现以下功能,但这种语法不正确。 重写这篇文章的最佳方式是什么Sql server 在where子句中使用Case语句选择多个值,sql-server,tsql,Sql Server,Tsql,我试图在T-SQL中实现以下功能,但这种语法不正确。 重写这篇文章的最佳方式是什么 declare @region varchar(50) set @region = 'REGION1' declare cono_cursor CURSOR for Select CpnyID from ( Select CASE @region when 'REGION1' then '116','118','129','131','139','145','906','907',
declare @region varchar(50)
set @region = 'REGION1'
declare cono_cursor CURSOR for
Select CpnyID
from
(
Select CASE @region
when 'REGION1' then '116','118','129','131','139','145','906','907','943','948')
when 'REGION2' then ('113','114','122','130','132','135','136','137','138','941')
when 'REGION3' then ('106','107','111','112','123','128','202','916','919')
end
)A
创建一个包含两列的查找表并查询该表。
CASE
是一个表达式-它计算一个(单个)值。可能有更好的方法来解决这个问题,但您只向我们展示了您正在做的一小部分-您确定您甚至需要一个光标
?是的,我确实需要一个光标,因为我必须对每个cpnyid进行多个计算。这只是一个更大的脚本的一部分