使用以下case语句,我需要最后一个什么时候存储为5,6因为我需要在where子句中使用这个变量。
案例陈述
DECLARE @l_RepAccess as nvarchar(8),@l_RepGroup as varchar(8)
SET @l_RepAccess = 6
SET @l_RepGroup = ''
SELECT @l_RepGroup =
CASE @l_RepAccess
WHEN '3' THEN 5
WHEN '4' THEN 6
WHEN '6' THEN '5' + ',' + '6'
ELSE ('')
END
SELECT @l_RepGroup
变量需要进入这一行。
or (A.REPORGLVL IN (@l_RepGroup))
提前谢谢
答案 0 :(得分:0)
创建一个包含逻辑
的表access | group
3 | 5
4 | 6
6 | 5
6 | 6
在where子句中
Where group in (select group from tbl where access = @l_RepAccess)