sql - 特定日期的汇率
问题描述
我正在创建下面显示的查询,该查询返回索赔文件的付款/准备金金额。这个想法是在指定的日期 exch_r."AtDate" 转换为当地货币作为储备。但是,结果返回以 EUR 为单位的金额总和,而不是以 Lei 为单位的值的总和。
例如:有 3 个欧元储备(200 欧元;9 欧元;56 欧元)和一个雷(110 LEI)储备。
返回的结果是 265 EUR * 4,8567 LEI = 1.287,0255 LEI,不包括转换后的 110 Lei。我的结果应该是 1.287,0255 + 110 LEI = 1.397,0255
select d."DAMFileNr", plata_lei
,coalesce(SUM(CASE WHEN d_rez."EID"='10' THEN d_rez."RDAM" ELSE
d_rez."RDAM"*exch_r."EXCValue" END),0) as rez_lei
from "DAM" as d
left join "DAMRez" as d_Rez on d."Index"=d_rez."DID"
left join lateral (
select coalesce(sum(case when d_pay."EID"='10' then d_pay."PAYVal" else
d_pay."PAYVal"*exch_p."EXCValue" end),0) as plata_lei
from "DAMPay" as d_pay
LEFT JOIN "EXCValues" exch_p ON exch_p."AtDate"=d_pay."PAYDate" and exch_p."EID"=d_pay."EID"
where d."Index" = d_pay."DID"
) d_pay on true
LEFT JOIN "EXCValues" exch_r ON exch_r."EID"=d_rez."EID"
where exch_r."AtDate"='2020-09-16' and d."DAMFileNr" like 'S/SC/05/2020'
group by d."DAMFileNr", plata_lei
order by d."DAMFileNr"
你能告诉我如何处理这个问题吗?谢谢
解决方案
解决了。我添加了一个新条件: where (d_rez."EID"='10' or exch_r."AtDate"='2020-09-16') and d."DAMFileNr" like 'S/SC/05/2020'
推荐阅读
- android - SQLite - 如何使用 ROW_NUMBER() OVER
- python - 如何将数据帧插入到 oracle 表非法/变量 oracle
- python - 如何使 discord.py 机器人不需要前缀?
- r - 我无法在 r 中安装 quantstrat 包
- python - Lists to Dict 需要返回方法
- pyspark-dataframes - pyspark - 我无法在 pyspark 中导入 from_avro
- javascript - 根据窗口位置播放粘性 HTML 视频
- python - 如何解决我的 IndexError 问题,以便我可以在病房后连续运行我的脚本?
- ios - 隐藏/显示按钮点击视图 - SwiftUI
- python-3.x - 如何在 django admin 中通过可迭代的多个管理类