在向您询问以前的货币汇率时,我想向您寻求帮助。
例如。我有两个要联接的表(Orders
和CurrencyRates
)。第一个表格包含以EUR表示的订单,第二个表格包含从EUR到USD的货币汇率。
我想在订购日期之前加入。问题出在CurrencyRates
表中具有零利率的订单日期“ 10.11.2018”。我想从前一天的汇率(在这种情况下为“ 09.11.2018”)获得此值,而在将来的日期(“ 18.11.2018”),我希望从CurrencyRates
开始具有max(Date)的值表。是否有任何方法可以将其连接以具有期望值?
谢谢您的帮助!
答案 0 :(得分:0)
您可以使用cross apply
:
select o.*, cr.date, cr.rate, cr.currency
from orders o cross apply
(select top (1) cr.*
from currencyrates cr
where cr.date <= o.orderdate
order by cr.date desc
) cr;