尝试在MS Access中使用“插入temp2”而不是“Select into temp2”代码

时间:2018-03-03 23:56:41

标签: ms-access sql-insert

但似乎无法将其转换为插入内容。

下面按照我需要的顺序将我需要的字段输出到新表“temp2”中。但是,我试图将它们附加到现有表“Indices_Data”而不是创建新表“temp2”。

SELECT * INTO temp2 FROM(选择前60 [日期],[安全],[关闭],[高],[低],[返回],[化合物返回],[高] - [低]作为[R1],[R1] /( ([高] + [低])*。05)作为R2,[返回] ^ 2作为ReturnSqrd,[CompoundReturn] ^ 2作为CompoundReturnSqrd FROM Indices_WS其中安全='BEL20索引'按[日期]描述顺序)AS temp ORDER BY temp.Date;

提前致谢。

不是重复..我已经看过这个和其他一些似乎是类似问题的评论。使用Select“Top”并在日期中使用它需要按顺序获取最新记录... {make that“temp”}然后将排序更改为asc

1 个答案:

答案 0 :(得分:1)

指定要插入数据的字段。使用SELECT来提取数据。

  

INSERT INTO Indices_Data([Date],[Security],[Close],[High],[Low],[Return],[CompoundReturn],[R1],[R2],ReturnSqrd,CompoundReturnSqrd)SELECT TOP 60 [日期],[安全],[关闭],[高],[低],[返回],[化合物返回],[高] - [低]作为[R1],[R1] /(([高] + [低])*。05)作为R2,[返回] ^ 2作为ReturnSqrd,[CompoundReturn] ^ 2作为CompoundReturnSqrd FROM Indices_WS,其中Security =' BEL20 Index' ORDER BY [Date] Desc;

如果您必须以ASC顺序保存:

  

INSERT INTO Indices_Data([Date],[Security],[Close],[High],[Low],[Return],[CompoundReturn],[R1],[R2],ReturnSqrd,CompoundReturnSqrd)SELECT * FROM (选择前60位[日期],[安全],[关闭],[高],[低],[返回],[化合物返回],[高] - [低]作为[R1],[R1] /(( [高] + [低])*。05)作为R2,[返回] ^ 2作为ReturnSqrd,[CompoundReturn] ^ 2作为CompoundReturnSqrd FROM Indices_WS其中Security =' BEL20索引' ORDER BY [Date] Desc )按[日期] ASC的顺序;

保存计算(数据取决于其他数据)值通常是一个糟糕的设计。在需要时进行计算。