多种货币订单查询

时间:2014-10-03 18:32:06

标签: mysql currency

如何在多货币数据库表上执行SELECT ORDER BY item.price ASC条件?

我不确定是否可能。

项目表包含price, currency个属性,包含所有类型的大量货币。

1 个答案:

答案 0 :(得分:2)

一种方法是让另一张表具有转换率,这样您就可以将每个price转换为通用货币。然后,您的ORDER BY将根据共同货币完成。

例如:

 SELECT item, price as local_price, price * common_conversion_rate as comparison_price
 FROM   item_table
 left join conversion_rates ON item_table.currency = conversion_rates.currency
 ORDER BY common_conversion_rate * price

conversion_rates表包含列:

 currency    common_conversion_rate
   USD           1.0
   GBP           1.4
   ZAR           0.1
   ...

这假设您只需从currency表中提取item,然后将其乘以conversion_rates表中的一个因子。