Как изменить значение моих параметров, сделанное из оператора case:
Set @CostType=Case When @ShowLabor ='Y'and @ShowEquipment ='Y' then ('1,3,5,7,8')
when @ShowLabor ='Y'and @ShowEquipment ='N' then ('3,5')
when @ShowLabor ='N'and @ShowEquipment ='Y' then ('1,7,8')
else ('1,3,5,7,8') end
, в список целых чисел [EX: (1,3,5,7,8)], чтобычасть этого IN
оператора:
Where JCCD.CostType in (@CostType)
Я также попытался сделать это в виде столбца во временной таблице, как показано ниже, дайте мне знать, если это легче преобразовать из:
Declare @TempTable table (CostType int)
Set NOCOUNT ON;
Insert into @TempTable values
(Case When @ShowLabor ='Y'and @ShowEquipment ='Y' then ('1,3,5,7,8')
when @ShowLabor ='Y'and @ShowEquipment ='N' then ('3,5')
when @ShowLabor ='N'and @ShowEquipment ='Y' then ('1,7,8')
else ('1,3,5,7,8') end )