Левое объединение о более чем 2- критериям
|
|
Пятница, 05 Июня 2015 г. 14:29
+ в цитатник
Добрый день!
Мне нужно для каждой транзакции проставить курс следующим образом:
Таблица 1 "Транзакции" Таблица 2 "Курсы"
ID Дата Валюта ID Валюта Начало Окончание Курс
1 01.02.15 USD 1. EUR 01.02.15 28.02.15 0,89
2 15.02.15 EUR 2. TRY 01.02.15 28.02.15 2,15
3 25.02.15 TRY 3. RUB 01.02.15 28.02.15 60,12
4 28.02.15 RUB
5 03.03.15 EUR
Результат, который нужен:
ID Дата Валюта Курс
1 01.02.15 USD Null
2 15.02.15 EUR 0,89
3 25.02.15 TRY 2,15
4 28.02.15 RUB 60,12
5 03.03.15 EUR Null
Как видно, что Null должен получиться в тех случаях, когда валюты нет в таблице с курсами или для даты транзакции не задан диапазон в таблице курсов.
Для реализации этого объединения я использовал LEFT JOIN и WHERE с условием попадения даты транзакции в диапазон действия курса.
В результате WHERE убивает записи с курсом Null.
Как написать запрос, чтобы получился именно желаемые результат?
Заранее спасибо!
http://www.sql.ru/forum/1160150/levoe-obedinenie-o-bolee-chem-2-kriteriyam
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-