первый раз постер здесь.SQL - рассчитать средний обменный курс для данных периодов и использовать в выборе
У меня есть две таблицы 1) сделок (T1) 2) обменные курсы (Т2). T1 проводит ежедневную транзакцию в нескольких валютах, T2 ежедневно использует обменные курсы для всех валют.
Во-первых, я хочу рассчитать среднюю ставку за каждую валюту за данный период (например, за доллар США с 1 января 2016 года по 30 июня 2016 года).
Затем я хочу выявить транзакции и конвертировать валютную сумму на рассчитанную среднюю ставку, чтобы в транзакции USD использовался расчетный доллар США. и дает мне сумму GBP av, а EURO - EURO av. скорость конвертирования и т. д. для каждой отдельной строки.
SQL, чтобы получить среднюю ставку, как показано ниже;
select currency,avg(b.exch_rate) as avg_rate
from uviexchrates b
where date_from >'2015-01-01' and date_from < '2015-12-31'
and b.rates_to='gbp' and b.client like 'gc' group by b.currency
приведенное выше дает мне нечто подобное;
currency avg_rate
AUD 2.04
CAD 1.96
CHF 1.47
USD 1.41
мой запрос для таблицы транзакций;
select currency,cur_amount from agltransact
where period between '201600' and '201606'
В результате я после является;
cur_amount currency Av_rate converted_amount
-357000.00 EUR 1.12 -318153.46
6.55 EUR 1.12 5.84
6.55 EUR 1.12 5.84
27.77 USD 1.41 19.68
7.86 AUD 2.04 3.86
27.09 USD 1.41 19.20
54.98 CAD 1.96 28.11
расчеты двух дальних правых столбцов. Av_rate сверху 1-го запроса & convert_amount является результатом cur_amount * av_rate.
Вопрос; Как я объединил 2 запроса, чтобы получить результат?
желающий это ясно.
большое спасибо
думаю простой присоединение сделаю ... – Avi