使用其他表中的数据转换表中的货币

时间:2016-01-12 11:01:16

标签: sql sql-server

我试图在使用所有相关表的替代ID的销售表中转换货币(并将它们放在相关列中,因此:Item表中的SubstituteItemKey等于mainsales中的ItemID)并指定交易价值。 失败的代码片段是:

inner join [dbo].[Multiplier] on [dbo].[dimday].[Day] = [dbo].[Multiplier].[Day]

此代码的结果问题是它产生了重复的行,结果不正确。

1 个答案:

答案 0 :(得分:1)

乘数可能包含多种货币的转换率。但是,您不能将适当的货币加入主要销售记录,而是所有货币。因此,您可以获得多个记录,而不是每个事例一个记录。

更改

inner join Multiplier 
  on [dbo].[dimDay].[Day] = [dbo].[Multiplier].[Day]

类似

inner join Multiplier 
    on  [dbo].[dimDay].[Day] = [dbo].[Multiplier].[Day]
    and [dbo].[mainsales].[Currency] = [dbo].[Multiplier].[Currency]