I need store multiple currencies on my database… Here’s the problem:
Example Tables:
[ Products ]
id (INT, PK)
name (VARCHAR)
price (DECIMAL)
currency (INT, FK)
[ Currencies ]
id (INT, PK)
name (VARCHAR)
conversion (DECIMAL) # To U$
I’ll store the product price with the currency selected by the user…
Later I need to search the products using a price interval like “Search products > with price from U$ 50 to U$ 100” and I need the system convert these values “on the fly” to run the SQL Query and filter the products.
And I really don’t know how to make this query… :/
Maybe something like this?
SELECT p.`name`, p.`price` * c.`conversion` AS price
FROM `products` AS p
INNER JOIN `conversion` AS c
ON p.`currency` = c.`id`
WHERE price >= 50 AND price <= 100
LIMIT 10
And then you can add a condition like
for prices higher than $50.
EDIT
In case you don’t have one, it’s a good idea to have a currency record for USD (where the conversion value is 1.0), so that conversions to USD are not exceptions.