【发布时间】:2012-10-24 12:13:39
【问题描述】:
正在使用的数据库表简介 -
我正在研究基于“股票市场价格”的数据库表。我的表已获得以下字段的数据 -
身份证
符号
打开
高
低
关闭
音量
音量变化
成交量变化%
OPEN_INT
部门
时间戳
根据当天的股市价格变化,“周一至周五”每天都会将新数据添加到表格中。当前要求基于VOLUME 字段,该字段显示特定股票每天的交易量。
要求—— 分别获取过去 10、15 和 30 天的平均交易量和总交易量。
当前使用的方法 - 我创建了这 9 个单独的查询来获得我想要的结果—— 首先,我创建了这 3 个查询以从当前表中取出最近的 10,15 和 30 个日期:
qryLast10DaysStored
qryLast15DaysStored
qryLast30DaysStored
然后我创建了这 3 个查询来获取各自的平均值:
qrySymbolAvgVolume10Days
qrySymbolAvgVolume15Days
qrySymbolAvgVolume30Days
然后我创建了这 3 个查询来获取各自的 TOTALS:
qrySymbolTotalVolume10Days
qrySymbolTotalVolume15Days
qrySymbolTotalVolume30Days
当前方法面临的问题 - 现在,我的问题是我最终得到了这么多不同的查询,而我想将输出放到一个单一的查询中,如 Excel 工作表的快照所示:
http://i49.tinypic.com/256tgcp.png
需要解决方案 -
有什么方法可以将这些必填字段放入一个查询中,这样我就不必在多个地方查找必填字段?谁能告诉我如何将所有这些单独的查询合二为一 -
A) 将结果从这些单独的单个查询中取出或移动到一个。
B) 或者通过创建一个新的查询来计算所有这些字段,这样就不再需要这些单独的单独查询。我认为这将是一个更好的解决方案。
关于日期的澄清 - 有朋友可能会想,为什么我使用 Top 10,15 和 30 的方法来获取最后的 10,15 和 30 日期值。为什么我不直接使用 PC 日期来获取这些值?或使用类似 -
("VOLUME","tbl-B", "TimeStamp BETWEEN Date() - 10 AND Date()")
答案是我要求我的查询从“TIMESTAMP”字段中“读取”日期,然后针对 LAST / MOST RECENT“10 天、15 天、30 天”执行相应的计算数据在表格中可用,无需担心当前日期是什么。它不应以任何方式取决于当前日期。
如果有更好的方法或者更高效的方式来创建这些查询,请指教。
【问题讨论】:
-
我不明白日期部分。如果您执行 Top(10) 并按日期字段进行排序。它会起作用吗?你会得到最近 10 个日期
-
您必须根据列表中的最后 10、15、30 天进行计算吗?所以 datediff 可能超过 10、15 和 30?每个符号的最后几天?