我刚刚开始使用 SQL,并且直到现在一直在谷歌搜索快速提示,但是我已经被困在这个上一段时间了。
我有两个表,Stock_Data 有 2 列,ID 和日期。第二个表非常大,包含几百万行数据,称为 Options_Data。第二个表还有一个 Id 列和一个 Date 列以及大约 12 个我想下载的额外数据列。
我想做的是
for each row i in Stock_Data
SELECT * FROM Option_Data where Option_Data.Id = Stock_Data.Id(i)
AND WHERE Option_Data.Date BETWEEN Stock_Data.Date-60 days and Stock_data.Date+60 days
end
本质上; 从 Stock_Data 中获取股票 ID 及其唯一的事件日期,前往 Option_Data 并在事件日期前后 60 天取出该股票 ID 的数据。
我只在matlab中真正正确地编码过,因此循环类比和伪代码。我可以仅使用 ID 来解决问题,但它涉及下载比必要更多的数据,这是每个 ID 的唯一数据范围让我遇到麻烦。