【发布时间】:2012-07-30 13:04:50
【问题描述】:
我有一个表exchange_rate,其中包含currA、currB、rate 等条目。例如(不要担心费率的准确性):
currA currB rate rowId
USD USD 1 1
USD GBP 0.87 2
ZWD EUR 0.5 3
EUR KRN 1.5 4
RUP USD 0.78 5
YEN FRA 0.67 6
INR RUP 1.3 7
FRA USD 1.08 8
KNR USD 0.76 9
GBP YEN 1.4 10
rate 显示currA w.r.t 的转化率。 currB。示例:第二行表示1 USD = 0.87 GBP
现在,我想要每种货币兑美元的汇率。例如,要将 EUR 转换为 USD,我可以使用第 4、9 行。类似地,将 GBP 转换为 USD 可以将 1 除以 0.87(第 2 行的结果),或者我可以从第 10、6 和 8 行计算这个汇率。
是否有任何 SQL 查询可以帮助我做到这一点?
【问题讨论】:
-
什么味道的sql?例如 sql-server-2008?
-
与查询无关,但您不是一直想从货币 A 直接转换为货币 B 吗?您拥有的货币之间的跳数越多,由于货币之间的汇率波动,最后的结果就越有可能变得不精确。以今天为例:将 10 美元兑换为欧元为 GBP,您可以获得 6.37382 英镑,但将 10 美元兑换为 GBP 可获得 6.374 英镑。
-
嗨。感谢您抽出时间来解决这个问题。您的问题的答案是肯定的,我会直接将 A 转换为 B,以防它像您提到的美元兑英镑示例那样可用。但是对于我提到的例子,即欧元到美元,没有可用的直接转换,不幸的是我不得不跳跳。要添加更多信息并且可能是这个 vcan 帮助,我需要在脚本中执行此操作。所以即使是子查询和某些 sript 代码也可以执行此操作,那也会很好。