2016-09-15 31 views
-3

我有每月收集的信息。相同的数据列但当然不同的内容。我在询问哪些是让用户插入这些数据的最佳方式,是否应该为每个月的数据库表制作相同的列,或者我应该制作一个包含一列的表以确定月份。我应该采用哪种数据库方法来收集我的月度信息

例如:

table: July 
id|program_name|program_date|program_result 

table: June 
id|program_name|program_date|program_result 

或者:

table: monthly_info 
id|program_name|program_date|program_result|month 

我问哪种方式比其他的更有效。 谢谢

+1

通常,动态更改的数据应该位于表内容中,而不是表或列名称。 – Barmar

+0

在连接条件中不能使用表名称。你将不得不重写你的查询来指向每个月的不同表格。 – Barmar

+0

谢谢。我知道了 – sara

回答

0

创建一个表以保存所有数据和日期。

table: monthly_info 
id|program_name|program_date|program_result|date 

然后您可以查询每月的数据如下。

如果您的条件月份参数是整数。使用此查询。 (这将返回到8月份的所有数据匹配)

SELECT * FROM monthly_info WHERE MONTH(date) = 8 

如果您的条件月参数是字符串。使用此查询。

SELECT * FROM monthly_info WHERE DATENAME(mm, date) = 'August' 
相关问题