我使用SQL Server 2012的使用where子句导致无效列名称错误
我已经写了下面这除了正常工作当我从包括最后一行“其中NomDiff <> 0”查询。
它告诉我NomDiff是一个无效的列名称。我不明白为什么和不知道如何让查询返回只有nomDiff不等于零的行吗?
;with pf as
(
select Name, Sedol, Nominal from tblTempPLF
where FundCode = 'CSGE'
), pc as
(
select Name, Sedol, Nominal from tblTempPCF
where FundCode = 'BTCM'
)
select coalesce(pf.Name, pc.Name) Name, coalesce(pf.Sedol, pc.Sedol) Sedol,
isnull(pf.Nominal,0) PfNom, isnull(pc.Nominal,0) PcNom, isnull(pf.Nominal,0) - isnull(pc.Nominal,0) NomDiff
from pf full outer join pc on pf.Sedol = pc.Sedol
where NomDiff <> 0
另一个查询围绕一个与别名包裹 – Beth