实现此目的的一种方法是使用一个
Stock
表来存储有关股票的一般信息,并使用另一个表 StockPrices
来存储股票的每日快照。
Stock
的主键将是Ticker
,因为它唯一标识股票并且简短/易于理解。
StockPrices
的主键将为 (Ticker,Date)
。该表中的列 Ticker
与 Stock
的主键有外键关系。
两天之间的任何比较都可以通过简单的查询来完成:
SELECT *
FROM Stock s
INNER JOIN StockPrices spDay1 ON s.ticker = spDay1.ticker AND spDay1.date = [first day you want to compare to here]
INNER JOIN StockPrices spDay2 ON s.ticker = spDay2.ticker AND spDay2.date = DATEADD(dd, 1, spDay1.date)