declare @cnt int;
set @cnt = 1;
select ID, CardID, Flag,
case when Flag = 1 then @cnt
else @cnt
end as Group,
case when Flag = 0 then (select @cnt=@cnt+1) end --select @cnt=@cnt+1 这句有语法错误
from T1
declare @cnt int;
set @cnt = 1;
select ID, CardID, Flag,
case when Flag = 1 then @cnt
else @cnt
end as Group,
case when Flag = 0 then (select @cnt=@cnt+1) end --select @cnt=@cnt+1 这句有语法错误
from T1
case when Flag = 0 then (select @cnt=@cnt+1) end --select @cnt=@cnt+1 这句有语法错误
then后面只能是常量表达式,你写成了赋值语句,如果从意思上说你只是想显示值@cnt加1的话
可以改成
case when Flag = 0 then (@cnt+1) end
declare @cnt int;
set @cnt = 1;
select ID, CardID, Flag,
case when Flag = 1 then @cnt
else @cnt
end as Group,
case when Flag = 0 then (select @cnt=@cnt+1) end --select @cnt=@cnt+1 这句有语法错误
from T1
case when Flag = 0 then (select @cnt=@cnt+1) end --select @cnt=@cnt+1 这句有语法错误
then后面只能是常量表达式,你写成了赋值语句,如果从意思上说你只是想显示值@cnt加1的话
可以改成
case when Flag = 0 then (@cnt+1) end