单个表中的多种货币

时间:2015-12-18 12:58:31

标签: mysql sql database database-design

如何制作一个可能包含多种货币($,Euros,...)的MySQL表?如果我想做一个最终报告,那么除了在总和中添加多个if语句之外,还可以使用这些货币的总和吗?

2 个答案:

答案 0 :(得分:3)

可能涉及多个方面。所以这是一些头脑风暴:

  • 您提供不同货币的相同产品,例如玩具10欧元或11美元。所以你可能有一个项目表和一个item_price表,后者有产品编号,货币和价格。 (另一种选择是只有一个价格,例如美元和转换率的货币表,你可以计算国外价格。但是你得到了“丑陋”的价格,例如10.57,而不是像10.50,10.90或10.99这样的典型价格。但是,你也可以为它设置一个价格调整功能。而且你必须保持转换表的最新状态或与之保持一致的损失。)
  • 客户购买产品并支付账单。该账单采用一种货币(商店价格和账单中的货币),但您也可以使用您的货币,因为PayPal或银行以每日汇率兑换。你还需要存储这个真实金额吗?那么这将是你账单中的另一栏。
  • 我不知道税收是怎么回事。不同的货币听起来像不同国家。也许您也必须在数据库中处理这些问题。我只是不知道。您显示和存储的价格通常是总价格(客户实际支付的价格)和税收(可能是单一账单中不同产品的不同增值税百分比)必须计算。
  • 关于获得总和:使用存储的所有信息,您可以从表中获得连接。在我看来,不,如果 - 那么其他。

答案 1 :(得分:2)

  • 根据我的意见,您可以创建一个包含的国家/地区表 CountryID,CountryName,CurrencyCode,ExchangeRate。现在就在那 国家/地区表您必须添加要添加的所有国家/地区 你必须记住一件事,你必须决定1种货币 作为基础货币,并将exchangeRate设为1作为该货币和 根据基础货币转换所有其他货币exchangeRate 并插入该表。即保持基础货币为美元,所以插入 对于该货币,1美元和exchangeRate的记录必须为1。 假设我将印度作为国家而不是exchangeRate 国家基于美元为66.40卢比。插入所有其他国家 根据这些条目。

  • 现在,当您要添加与金钱相关的任何交易时 表然后将exchangeRate列与该amount列保持一致。 IND 插入exchangeRate,金额与用户的货币相同。即如果 我的用户在印度国家,所以它的货币是INR。现在那个用户 想要增加1000卢比。然后你必须输入1000卢比的金额 交易表,因为它没有任何兑换率 66.40(从国家/地区表中获取)同样方式如果用户货币是美元 并且他希望将100美元以上的交易添加到商店100作为金额 和exchangeRate为1。

  • 现在,当您想要创建任何报告时,只需将exchangeRate分开即可 使用金额,因此您将获得基础货币和之后的报告 以基础货币换算,您可以在任何报表中生成每个报表 货币根据您的要求。