我正在维护费用记录,费用表如下所示
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
请建议是否可行以及如何实现?
最佳答案
我认为您可能应该坚持已有的数据库结构,但使用查询以您希望的格式显示数据。
如果您考虑一下您要存储的数据点数量,您所寻求的架构与您已有的架构之间并没有太大区别 - 仍然是 1200 个费用数据点。每次添加费用列时都必须升级架构将是相当具有侵入性的。
坚持使用 Excel 导出查询将使数据库能够理解费用类别的概念,并且更新导出查询以包含新类别比修改架构要容易得多。甚至可以通过迭代“哪些费用类别是已知的?”的初始查询来以编程方式计算必要的 JOIN。
关于mysql - 如何构造 mysql 表以避免多余的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10110648/