Как организовать поиск и сортировка выборки из базы по валюте?
Народ, приветствую.
Есть таблица "Товаров" следующей структуры:
[id, price, price_currency]
и примерно следующего содержания:
[1, 100, RUR]
[2, 2, USD]
Валют может быть неограниченно много, но их котировки не хранятся в базе.
Собственно вопрос в том, как организовать хранение данных, либо работу с подобной таблицей так, чтобы было удобно сортировать и производить поиск используя единую валюту (на пример USD) в качестве базовой? Другими словами, нужно перед выборкой как то привести все price к единому значению в валюте USD используя внешнюю котировку.
Есть идея дополнить таблицу полем price_base и хранить в ней цену в базовой валюте, а так же пересчитывать это значение раз в сутки, но возможно есть решение проще?
Тут скорее не сложение, а умножение, так как value валюты относится к каждой единице price продукта. Это вариант решения и я о нем думаю, но мне не нравится работать со "сложным" SQL, более того, такой расчет необходимо будет делать как на уровне WHERE, так и на уровне ORDER BY, что так же не хотелось бы.