Ich habe die folgende Abfrage, die ich nutze, um möchte eine Menge von verschiedenen Währungen in USD zu konvertieren:Verwendung von SQL CASE/WHEN Ausgang für die Berechnung
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
Dies schlägt mit der Nachricht in_usd does not exist
.
die erwartete Ausgabe ist eine Liste von Währungen und ihre Summen:
currency total_in_usd
USD 100.00
AED 59.00
GBP 143.01
...
Das funktioniert super .. und keine Unterabfragen! Danke vielmals – FloatingRock