【发布时间】:2014-05-14 18:09:01
【问题描述】:
我有两个表——tblDividendData 和 tblStockPrice——我一直在尝试构建一个查询来从 tblDividendData 中提取字段以及 tblStockPrice 中的最新收盘价。我不是 SQL 专家,所以我在这里分享我的尝试时有些恐惧,但我已经花了几个小时在这上面,似乎尝试了一切,但我无法让它返回正确的结果。我的查询如下:
SELECT tblDividendData.divOrganization,
tblDividendData.divExDividendDate,
(SELECT Close
FROM tblStockPrice s
WHERE Date = ( SELECT MAX(Date)
FROM tblStockPrice
WHERE s.Date <= tblDividendData.divExDividendDate
AND s.CompanyID=tblDividendData.divOrganization)) AS Close
FROM tblDividendData
这会返回收盘价字段的一些数据,但它不正确:似乎只有当 divExDividendDate 大于所有 tblStockPrice.Date 时才会返回 tblStockPrice.Close。
我真的很感激一些帮助,为什么我不能让它工作。我在这里设置了一个带有 Schema 和查询的 SQLFiddle:http://www.sqlfiddle.com/#!15/6ae82/2/0
查询在 SQLFiddle 上运行,但我确实注意到它使 Access(我实际上将其放在一起)陷入困境。
【问题讨论】: