Mysql 一张表中有多种货币

Mysql 一张表中有多种货币,mysql,sql,database,database-design,Mysql,Sql,Database,Database Design,如何创建一个可以包含多种货币(美元、欧元等)的MySQL表?如果我想做一份最终报告,那么除了在报告中添加多个if语句之外,他们是否可以对这些货币进行汇总?可能涉及到几个方面。下面是一些头脑风暴: 您提供不同货币的相同产品,例如10欧元或11美元的玩具。因此,您可能有一个item表和item_价格表,后者有产品编号、货币和价格。(另一种选择是只有一个价格,例如美元和一个带有换算率的货币表,然后计算外国价格。但是,你会得到“丑陋”价格,例如10.57,而不是10.50、10.90或10.99等典型

如何创建一个可以包含多种货币(美元、欧元等)的MySQL表?如果我想做一份最终报告,那么除了在报告中添加多个if语句之外,他们是否可以对这些货币进行汇总?

可能涉及到几个方面。下面是一些头脑风暴:

  • 您提供不同货币的相同产品,例如10欧元或11美元的玩具。因此,您可能有一个item表和item_价格表,后者有产品编号、货币和价格。(另一种选择是只有一个价格,例如美元和一个带有换算率的货币表,然后计算外国价格。但是,你会得到“丑陋”价格,例如10.57,而不是10.50、10.90或10.99等典型价格。但是,你也可以为此进行价格调整。你必须保持转换表的最新状态,否则可能会遭受损失。)
  • 客户购买产品并支付账单。账单是一种货币(在账单中存储价格和货币),但您也可以用您的货币获得您的钱,因为PayPal或银行按每日汇率兑换。你也需要储存这个真实的数量吗?那么这将是你账单上的另一栏
  • 我不知道税收是怎么回事。不同的货币听起来像不同的国家。也许你也需要在数据库中处理这些问题。我只是不知道。您显示和存储的价格通常是总价(客户实际支付的价格),必须计算税费(可能是一张账单中不同产品的不同增值税百分比)
  • 至于求和:存储了所有信息后,您可以通过表中的联接来获取它们。不,如果那样的话,在我看来不是
      • 根据我的意见,您可以创建一个包含 CountryID、CountryName、CurrencyCode、ExchangeRate。现在 国家/地区表您必须添加所有要添加的国家/地区,但 你必须记住一件事,你必须决定一种货币 作为基础货币,并将该货币的汇率设置为1,以及 将所有其他货币兑换为基础货币 并插入到该表中。i、 e.将基础货币保留为美元,因此插入 1美元记录,该货币的汇率必须为1。 假设我把印度作为一个国家,而不是用它来交换 国家/地区以美元为66.40卢比。插入所有其他国家/地区 根据这个条目

      • 现在,当你想在任何交易中添加任何与金钱相关的交易时 然后,表将exchangeRate列与该amount列保持一致。ind 插入与用户货币相同的汇率和金额。i、 e.如果 我的用户在印度,所以它的货币是印度卢比。现在这个用户 要添加1000卢比。然后您必须在中输入1000卢比的金额 事务处理表的原样,不使用汇率进行任何转换 66.40(从国家/地区表获取)。如果用户货币为美元,则采用相同的方式 他想增加100美元的交易额,而不是存储100美元的交易额 兑换率为1

      • 现在,当您想要创建任何报告时,只需除以exchangeRate即可 与金额,所以您将得到报告在您的基础货币和之后 以基础货币转换您可以以任何货币生成每个报告 按您的要求兑换

      我会使用两列,一列的值为
      十进制
      ,一列的货币为
      varchar
      currencyid
      (外币为
      货币
      表的外键)。至于计算,您可以连接到一个保存汇率的表……您到底想做什么?你说的是一种订单表之类的,不同的订单可以有不同的货币吗?或者更像一个商品表,同一商品有不同货币的价格?@ThorstenKettner有时在商店里,人们用不同的货币付款。这使得最终的财务报告有点难(至少对我来说)。如何避免这个问题?