货币换算

时间:2021-04-29 15:15:49

标签: sql sql-server

请找到以下示例数据。有 2 个表交易和汇率。如果我需要将交易表转换为美元,那么下面是我尝试过的查询,但它没有提供所需的输出。

交易

<头>
货币 Local_Price
美元 1000
英镑 100
欧元 10
美元 100

汇率

<头>
From_Currency To_Currency Exchange_Rate
美元 英镑 0.9
欧元 美元 1.1
英镑 美元 1.3

预期产出

<头>
货币 Local_Price In_USD
美元 1000 1000
英镑 100 130
欧元 10 11
美元 100 100

查询 选择货币,Local_price,Local_Price*Exchange_Rate 作为 In_USD 来自交易 T 在 T.Currency=ER.From_Currency 和 To_Currency='USD'

上离开加入 ExchangeRate ER

我的汇率表中没有从美元到美元或从欧元到欧元或从英镑到英镑的数据。

请帮我查询所需的输出。

1 个答案:

答案 0 :(得分:1)

使用coalesce()

Select Currency,Local_price,
       ( Local_Price * coalesce(Exchange_Rate, 1) ) as In_USD
from Transaction T left join
     ExchangeRate ER
     on T.Currency = ER.From_Currency and To_Currency = 'USD';