我对sql server非常新。我想要一张包含日内股票信息和分析计算的表格(例如简单移动平均线 - SMA)。
我设计了一个包含市场数据并将数据导入其中的表格。现在我想将SMA添加到表中并保存。第二天,我想添加市场新数据,并根据前一天的最后一个SMA数据进行计算,然后再次保存到同一个表格中。
在sql server中是这样的吗?或者我应该有一个查询来获取SMA,然后一种方法将结果保存到源表,因为我希望它在一个表中而不是再次执行查询数据!
我的意思是,如果我不将MVA结果数字保存到表格(最好是源表),我相信必须再次对旧数据进行查询和计算以及新数据以获得新的分析,这是不切实际的
请引导我走正确的路!我会很感激,如果它是详细的(如何!)。
更多细节 - 我正在使用sql server 2008.我使用excel和vba轻松获得了所有这些结果,但由于我需要将大量数据移到sql server。
答案 0 :(得分:0)
创建用户定义的函数来计算SMA,并将此函数用作表中计算列的值。
sudo代码 - 这只是一个想法 - 我没有测试过:
CREATE FUNCTION dbo.GetSMAValue(INT @price, INT @date)
RETURNS IN
AS
SELECT (@recid + sma) / no-of-days --whatever the formula for SMA
FROM price_table
WHERE date = dateadd (day,-1, @date)
ALTER TABLE price_table
ADD sma AS dbo.GetSMAValue(price, date)