我有两张桌子:
账单 :
create table Bill(
BillDate datetime,
Amount decimal(10,2) ,
BillCurrency varchar(3) ,
ReportingCurrency decimal(10,2))
汇率:
create table FxRate(
RateDate datetime,
SourceCurrency varchar(3),
TargetCurrency varchar(3),
ExchangeRate decimal(15,4))
这就是我想要做的:
我想将我的 Bill 表更新为
update Bill
set ReportingCurrency = FxRate.ExchangeRate * Bill.Amount
from FxRate
where FxRate.RateDate = Bill.BillDate
在此更新中,所有具有该特定日期条目的行都将获得新的报告货币数据。由于 Bill 表可以有多个符合更新条件的行,所以我遇到了以下问题:
对于 FxRate 表(该日期)中没有条目的行,ReportingCurrency 变为 NULL。我想返回nearest <= RateDate
并获取汇率。是否可以使用同一更新语句中的修改或其他一些有效的方法?(我想避免使用光标)。