【发布时间】:2018-05-17 08:41:52
【问题描述】:
我是 SQL 初学者,正在使用 MS Access 2007 我正在尝试将多个列添加在一起,但查询中要包含的列数总是会发生变化。例如,我必须计算年初至今的预算,每次用户执行查询时,都会输入一个新日期,并且我有 Month1、Month2、Month3...Month 12 列。我对如何确定要在查询中包含多少列的运行时间感到困惑。 如果用户输入 8/31/2017 我必须选择 Month1、Month2、Month3、Month4、Month5(它们是会计年度月)
【问题讨论】:
-
为什么要以宽格式存储数据?以长格式存储价值数据,只有 一个 月份列和财政年度和月份的指标。您的查询会容易得多。长格式在存储/检索效率、可维护性和可扩展性方面更好。
-
我同意上述评论 - 使用长格式存储的数据,您可以编写一个交叉表查询,根据您的问题将其与可变列一起显示。
-
@Parfait 我无法控制数据表,我得到了必须处理的视图
-
如果您收到这种格式的数据,它们是供电子表格使用的。但是 Access 不是电子表格,所以第一步按照@Parfait 的建议规范化数据,然后使用这些数据进行进一步处理。
标签: sql ms-access vba ms-access-2007 dynamic-sql