SELECT .....
'NewReserveSum' =
case
when h.ApprovedCurrencyID = 417 then new.ReserveSumV
else [dbo].[GetCurrencyRate](h.ApprovedCurrencyID, @PresentDate) * new.ReserveSumV
end,
(o.ReserveSummN - NewReserveSum) as 'DifferenceReserveSummN'
FROM ......
我想在以下列中使用 ** NewReserveSum ** 变量,但出现错误:
<块引用>无效的列名“NewReserveSum”
如何在 MSSQL 中正确执行此操作?
答案 0 :(得分:-1)
在 SQL 中,=
是比较,而不是赋值
在 SELECT 语句中,您可以使用 AS 给一个名称 top 一个表达式列:
SELECT
case
when h.ApprovedCurrencyID = 417 then new.ReserveSumV
else [dbo].[GetCurrencyRate](h.ApprovedCurrencyID, @PresentDate) * new.ReserveSumV
end as NewReserveSum,
...