8

I have two tables: o_daily_lcsgeneration and o_daily_generation.

While trying to update the o_daily_generation I receive an error saying:

error(1111) invalid use of Group function

Here is the code I am running:

update o_daily_generation join o_daily_lcsgeneration 
on o_daily_generation.Location =o_daily_lcsgeneration.Location 
   and o_daily_generation.Date =o_daily_lcsgeneration.Date  
set o_daily_lcsgeneration.Turbine_Generation =sum(o_daily_generation.Turbine_Generation)
4

2 回答 2

11

试试这个:

UPDATE o_daily_generation od
INNER JOIN 
(
     SELECT Location, SUM(Turbine_Generation) TurbineSum
     FROM o_daily_lcsgeneration
     GROUP BY Location
) og ON od.Location = og.Location
SET od.Turbine_Generation = og.TurbineSum
于 2012-11-03T07:44:02.413 回答
2

我确实根据上述答案更新了上述查询,但存在问题。

UPDATE tmpTotal t1
    INNER JOIN 
    (
         SELECT thirdlevel_delivery_id, MAX(baseline_id) MaxBaseLineId
         FROM tmpTotal
         GROUP BY release_id
    ) t2 ON t1.release_id = t2.release_id
    SET t1.planned_delivery_date = t2.MaxBaseLineId;

它给

Error Code : 1054
Unknown column 't2.release_id' in 'on clause'
于 2013-11-12T15:51:30.980 回答