我需要按天、国家等汇总一些交易日。表中有每个交易日的交易金额(以当地货币表示)和一个包含交易时欧元汇率的字段。这样地:
amount | currency | exchange_rate | date | country
我运行sum(amount/exchange\u rate),但是,对于大约0.5%的行,exchange\u rate的值是0,因此抛出错误“cannot divide by 0”。
我试着用case来运行它,当:
sum(case when exchange_rate = 0 then sum(amount) else sum(amount/exchange_rate) end) as volume
但显然嵌套和是不允许的。有人知道我如何得到上面逻辑上应该产生的结果,但是在case-when语句中没有嵌套和吗?
3条答案
按热度按时间9wbgstp71#
假设
0
表示金额为EUR
您可以执行以下操作:y3bcpkx12#
我想你想要:
或者少打字:
vbkedwbf3#
基本上你想把汇率看作
1
当它为零时。你可以做: