亲爱的stackoverflow成员,
我正在为售票价格创建一个访问数据库。 由于门票价格每年都在变化,我想创建数据库以根据月份访问门票价格。
但问题是如何查询数据库以根据特定月份检索票价? 我还附上了我的示例数据库的图像。 我还以文本格式上传了数据库。
公司
-------------------------------------------
| CompanyID | CompanyName |
-------------------------------------------
| A | AAA |
-------------------------------------------
| B | BBB |
-------------------------------------------
| C | CCC |
-------------------------------------------
| D | DDD |
-------------------------------------------
| . | .. |
-------------------------------------------
| . | .. |
-------------------------------------------
| . | .. |
-------------------------------------------
| Z | ZZZ |
-------------------------------------------
票:
----------------------------------------------------------------------------------------------------------
| ID | TicketType | 2010 | 2011 | 2012 |
----------------------------------------------------------------------------------------------------------
| 001 | 3 months | $50.00 | $55.00 | $68.00 |
----------------------------------------------------------------------------------------------------------
| 002 | 2 Weeks | $10.00 | $11.50 | $13.10 |
----------------------------------------------------------------------------------------------------------
| 003 | Group ticket | $30.00 | $32.00 | $35.00 |
----------------------------------------------------------------------------------------------------------
| 004 | Night ticket | $7.00 | $9.00 | $11.00 |
----------------------------------------------------------------------------------------------------------
| 005 | 1 Day | $3.00 | $5.00 | $8.00 |
----------------------------------------------------------------------------------------------------------
| 006 | 1 Week | $8.00 | $15.00 | $12.00 |
----------------------------------------------------------------------------------------------------------
| 007 | 1 month | $19.00 | $22.00 | $25.00 |
----------------------------------------------------------------------------------------------------------
| 200 | Fun ticket | $11.00 | $12.00 | $14.00 |
----------------------------------------------------------------------------------------------------------
| AAA | 001 | | $100.00 | $5,500.00 |
----------------------------------------------------------------------------------------------------------
问题是:我想根据月份访问票价。 例如,TicketID的价格:“2011年3月”中的“001”。 有了它,将根据特定月份售出的门票计算每月帐户。
这些字段以年份列出,并在几个月内创建将导致大量数据冗余或未来更新的麻烦。
非常感谢任何帮助。 非常感谢你提前。
干杯!
答案 0 :(得分:2)
数据库的结构阻止您这样做。票证表甚至不在First Normal Form中。目前,每年新的一年,您都需要添加新列以显示更新的定价。通过添加行而不是列,可以更轻松地实现这一点。
您需要创建另一个名为TicketID的表,该表具有ID和TicketType。修改您的故障单表格,使其具有以下内容:ID,price,date_effective。这将允许您记录像这样的变化定价
1,50,1/1/2010
1,51,2/1/2010
1,52,8/15/2010
1,55,1/1/2011
这样您就可以随时更改价格,而无需添加额外的列。由于您要在最后一列中存储日期,因此可以使用Access中的内置日期函数来创建查询。