SQL 使用列的 SUM INNER JOIN 另一个表中的另一列

问题描述 投票:0回答:0

当我尝试执行如下所示的查询时出现此错误

错误:temp.accdegreedays 列不存在
第 7 行:INNER JOIN ricepest.add ON ricepest.temp.accdegredays = ric...

这是我的查询:

SELECT 
    ricepest.temp.state_id AS stateId, 
    ricepest.temp.district_id AS districtId, 
    ricepest.temp.date_id AS dateId, 
    ricepest.temp.tm_max AS maxTemp,
    ricepest.temp.tm_min AS minTemp, 
    ricepest.temp.mean AS Mean, 
    ricepest.states.state AS state, 
    ricepest.states.district AS district, 
    (ricepest.temp.mean - 9) AS DegreeDays,
    SUM(ricepest.temp.mean - 9) OVER (ORDER BY ricepest.temp.state_id, ricepest.temp.district_id, ricepest.temp.date_id, ricepest.temp.tm_max, ricepest.temp.tm_min, ricepest.temp.mean, ricepest.states.state, ricepest.states.district) AS accdegreedays
FROM 
    ricepest.temp
INNER JOIN 
    ricepest.states ON ricepest.temp.state_id = ricepest.states.state_id 
                    AND ricepest.temp.district_id = ricepest.states.district_id
INNER JOIN 
    ricepest.add ON ricepest.temp.accdegreedays = ricepest.add.accdegreedays
WHERE 
    ricepest.temp.state_id = 'AP' 
    AND ricepest.temp.district_id = 1 
    AND date_id >= '2000-01-01' AND date_id <= '2000-01-31'
GROUP BY 
    ricepest.temp.state_id, ricepest.temp.district_id,  
    ricepest.temp.date_id, ricepest.temp.tm_max, 
    ricepest.temp.tm_min, ricepest.temp.mean, 
    ricepest.states.state, ricepest.states.district;
sql postgresql group-by sum inner-join
© www.soinside.com 2019 - 2024. All rights reserved.