У меня есть следующий запрос, который я хотел бы использовать для того, чтобы преобразовать сумму из различных валют в USD:Использование SQL CASE/Когда выход для расчета
SELECT
currency,
CASE currency
WHEN 'SAR' THEN 0.266
WHEN 'EGP' THEN 0.113
WHEN 'USD' THEN 1
WHEN 'JOD' THEN 1.411
WHEN 'GBP' THEN 1.311
WHEN 'BHD' THEN 2.652
WHEN 'AED' THEN 0.272
WHEN 'EUR' THEN 1.111
WHEN 'QAR' THEN 0.275
WHEN 'KWD' THEN 3.315
ELSE 0
END as in_usd,
SUM(amount)*in_usd as total_in_usd
FROM
mytable
WHERE
created_at >= current_date - '7 days'::INTERVAL
GROUP BY
currency
Это терпит неудачу с сообщением in_usd does not exist
,
Ожидаемый результат представляет собой список валют и их итоги:
currency total_in_usd
USD 100.00
AED 59.00
GBP 143.01
...
Это отлично работает .. и никаких подзапросов! Благодаря тонну – FloatingRock