无法访问外部查询的 case 语句输出。
unable to access case statement output from outer query.
我正在尝试在 SSMS 2014 中执行以下查询。但是,我无法从外部查询访问在内部查询中使用 case 语句创建的列。 i.e.I 无法访问 c.current。
获得错误 - C
附近的语法不正确
select C.trandate,C.plan,C.current from
(SELECT d.trandate,p.plan,
case when datediff(dd,trandate,getdate()) <=30 then d.amount else 0 end as 'Current',
case when datediff(dd,trandate,getdate()) between 31 and 60 then d.amount else 0 end as '31 to 60',
case when datediff(dd,trandate,getdate()) between 331 and 360 then d.amount else 0 end as '331 to 360',
case when datediff(dd,trandate,getdate()) > 360 then d.amount else 0 end as '>360',d.residentsys
FROM [HMXals_Reporting].[dbo].[TranARDetail] d
join [HMXals_Reporting].[dbo].[plans] p
on d.transys = p.plansys
) C
plan
和 current
都是 reserved keywords.
你必须去
select C.trandate, C.[plan], C.[current] from
或选择其他名称。
我正在尝试在 SSMS 2014 中执行以下查询。但是,我无法从外部查询访问在内部查询中使用 case 语句创建的列。 i.e.I 无法访问 c.current。 获得错误 - C
附近的语法不正确select C.trandate,C.plan,C.current from
(SELECT d.trandate,p.plan,
case when datediff(dd,trandate,getdate()) <=30 then d.amount else 0 end as 'Current',
case when datediff(dd,trandate,getdate()) between 31 and 60 then d.amount else 0 end as '31 to 60',
case when datediff(dd,trandate,getdate()) between 331 and 360 then d.amount else 0 end as '331 to 360',
case when datediff(dd,trandate,getdate()) > 360 then d.amount else 0 end as '>360',d.residentsys
FROM [HMXals_Reporting].[dbo].[TranARDetail] d
join [HMXals_Reporting].[dbo].[plans] p
on d.transys = p.plansys
) C
plan
和 current
都是 reserved keywords.
你必须去
select C.trandate, C.[plan], C.[current] from
或选择其他名称。