Есть интернет-магазин, для него сделан фильтр по цене (от и до) - классические ползунки, как на Яндекс.Маркете.
Запрашиваются границы таким образом:
SELECT MIN(CONVERT(`shop_items_catalog_price`, SIGNED)) as min, MAX(CONVERT(`shop_items_catalog_price`, SIGNED)) as max FROM shop_items_catalog_table
Сейчас появился поставщик, цены на товар у которого указаны в USD. Движок сайта для вывода успешно эти цены пересчитывает на рубли по указанному в базе данных курсу. Но фильтр этого делать не умеет.
Получить курс доллара можно таким запросом:
SELECT `shop_currency_value_in_basic_currency` FROM `shop_currency_table` WHERE `shop_currency_id`='3'
Будет получен результат что-то вроде такого: shop_currency_value_in_basic_currency=31.253243
shop_items_catalog_table в себе содержит не только цены (shop_items_catalog_price) на товары, но и тип валюты (shop_currency_id).
shop_currency_id=1 - рубли (пересчитывать не нужно)
shop_currency_id=3 - доллары (цену необходимо умножать на курс, полученный выше)
Возможно ли в одном запросе запросить границы MIN MAX с учётом курса? Желательно ещё делать округление цены (математическое - в большую или меньшую, чтобы не было знаков после запятой).