2014-10-03 133 views
0

如何在多貨幣數據庫表上使用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

回答

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 
    ... 

這是假設你可以從你的item表拉currencyconversion_rates一個係數乘以表。

+0

但轉換率可以在每小時更改... – 2014-10-03 18:59:21

+1

您的輸出的準確性將取決於您的匯率的準確性表。如果您的輸出需要隨匯率變化而改變,那麼在datestamp上放置一些類似'精確到some_date'的內容。 – Ryan 2014-10-03 19:12:46