【问题标题】:How to structure mysql table to avoid extra rows如何构造mysql表以避免多余的行
【发布时间】:2012-04-24 00:51:53
【问题描述】:

我正在维护费用记录,费用表如下所示

Expenses(id,name)
Expenses_data(id,amount,expense_id)

费用是按年计算的,假设是 10 年,我将它保存为几个月,所以它是 120 个月

如果我有 10 个费用,那么费用数据将有 120*10 = 1200 行

我想将它从 1200 行保存到 120 行,当我在 excel 中输入时,数据将是这样的

id   month    marketing   electricity   bank charges
1    month-1    100          200           300
2    month-2    95.5         5000          100

请建议是否可能以及如何?

【问题讨论】:

  • 在此站点搜索mysql pivot table 问题。

标签: mysql database database-design data-structures


【解决方案1】:

我认为您可能要坚持已有的数据库结构,但使用查询以您希望的格式显示数据。

如果您考虑要存储的数据点的数量,那么您所寻求的架构与您已经拥有的架构之间并没有太大的区别——仍然是 1200 个数据点的费用。每次添加费用列时都必须升级架构是非常具有侵略性的。

坚持查询您的 excel 导出将使数据库能够理解费用类别的概念,并且更新您的导出查询以包含新类别将比修改架构容易得多。甚至可以通过迭代“已知哪些费用类别?”的初始查询以编程方式计算必要的 JOIN。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多