需要帮助解决此SQL查询

时间:2011-07-10 20:28:30

标签: mysql sql

我可以使用SQL查询成功计算一个股票代码的200天移动平均线,我现在正在尝试创建一个VIEW。我被困在以下查询似乎逻辑但有一个SQL错误 “#1054 - 'where子句'中的未知列'equity.TickerID'”

SELECT  AVG(Close) AS MA200 FROM equity
INNER JOIN
(
    SELECT Close 
    FROM equity_pricehistory  
    WHERE TickerID = equity.TickerID 
    ORDER BY Timestamp 
    DESC LIMIT 0,200
) as Y

1 个答案:

答案 0 :(得分:0)

知道了。这样就可以了。

SELECT equity.id, AVG( equity_pricehistory.close ) AS MA200
FROM equity
INNER JOIN equity_pricehistory ON equity_pricehistory.TickerID = equity.id
GROUP BY equity_pricehistory.TickerID
ORDER BY Timestamp DESC
LIMIT 0 , 200

我要指出的一件事是,如果您已经知道所需的所有TickerID都在equity中,那么您可以完全忽略整个equity_pricehistory表。