Мне нужно агрегировать несколько сеансов по дням, странам и т. д. В таблице есть сумма транзакции для каждого сеанса (в местной валюте) и поле с exchange_rate в евро на время транзакции. Как это:
amount | currency | exchange_rate | date | country
Я запустил sum(amount/exchange_rate), однако примерно для 0,5% строк значение exchange_rate равно 0, и поэтому он выдает ошибку, которая не может делиться на 0.
Я попытался запустить его в случае, когда:
sum(case when exchange_rate = 0 then sum(amount) else sum(amount/exchange_rate) end) as volume
Но, по-видимому, вложенные суммы не допускаются. Есть ли у кого-нибудь идеи о том, как я могу получить результат, который должен логически производиться выше, но без вложенных сумм в случае, когда оператор?