我在 where 子句中编写了一个 case 条件,它在没有任何子查询的情况下工作正常,但它不适用于子查询
例如
declare @isadmin varchar(5) = 'M'
select * from Aging_calc_all a where a.AccountNumber in
(case @isadmin when 'M' then 1 else 0 end)
这工作正常。
但是,这似乎不起作用-
select * from Aging_calc_all a where a.AccountNumber in
(case @isadmin when 'M' then (select AccountNumber from ACE_AccsLevelMaster where AssignedUser=7) else 0 end)
任何建议或这是 2008 年的 t-sql 错误。