Это последующие действия по сравнению с предыдущими вопросами, которые я задал: Using a GROUP BY statement to sum rows. У меня есть таблица с продажами разных валют, и я использую оператор GROUP BY, чтобы суммировать числа за заголовок.Суммирование продаж по разным валютам в SQL
mysql> SELECT
title,
SUM(us_earnings_usd) AS usd,
SUM(cad_earnings_cad) AS cad,
SUM(uk_earnings_gbp) AS gbp,
SUM(swedish_earnings_skk) AS skk
FROM raw_financials
WHERE date="2012-12-01"
GROUP BY title
+--------+-----------------+------------------+------------------+------------------+
| title | us_earnings_usd | cad_earnings_cad |swedish_earnings_ | uk_earnings_gbp |
+--------+-----------------+------------------+------------------+------------------+
| Gamers | 7.7500 | 4.0000 | 1.0000 | 2.0000 |
+--------+-----------------+------------------+------------------+------------------+
Наконец, мне нужно подвести итоги, чтобы получить общий объем продаж в долларах США. Для этого у меня есть дополнительная таблица под названием exchange_rates
. Вот как это может быть запрошено:
mysql> SELECT currency, conversion_to_usd FROM exchange_rates WHERE date="2011-12-01";
+----------+-------------------+
| currency | conversion_to_usd |
+----------+-------------------+
| AUD | 0.98542 |
| CAD | 0.95940 |
| CHF | 1.05235 |
| DKK | 0.17372 |
| EUR | 1.29400 |
| GBP | 1.54223 |
| NOK | 0.16579 |
| NZD | 0.74442 |
| SEK | 0.14190 |
| USD | 1.00000 |
+----------+-------------------+
Как бы объединить их с помощью SQL, чтобы получить:
total_earnings_in_usd = 7.75 (earnings in usd) *1.00 (conversion from usd to usd)
+ 4.00 (earnings in cad) *0.95 (conversion from cad to usd)
+ 1.00 (earnings in sek) *0.14 (conversion from sek to usd)
+ 2.00 (earnings in gbp) *1.54 (conversion from gbp to usd)
= $14.77 USD
Update: Я обновил SQL в этом вопросе.
Благодарим за отзыв. см. обновленный вопрос. – David542
@ David542 - Хорошо, обновил мой ответ – Lamak
mmm .... нисходящий ни одного комментария – Lamak