多货币订单查询

问题描述:

如何在多货币数据库表上使用ORDER BY item.price ASC条件执行SELECT多货币订单查询

我不确定是否有可能。

商品表有price, currency属性与所有类型的货币很多。

+1

您是否在问如何考虑货币(例如,1英镑的价值超过1美元)? – Mureinik 2014-10-03 18:34:53

+0

Yeas,多数民众赞成在... – 2014-10-03 18:57:13

+0

你有汇率表吗? – Mureinik 2014-10-03 18:57:37

一种方法是将另一个表格转换为转换率,这样您可以将每个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 
    ... 

这是假设你可以从你的item表拉currencyconversion_rates一个系数乘以表。

+0

但转换率可以在每小时更改... – 2014-10-03 18:59:21

+1

您的输出的准确性将取决于您的汇率的准确性表。如果您的输出需要随汇率变化而改变,那么在datestamp上放置一些类似'精确到some_date'的内容。 – Ryan 2014-10-03 19:12:46