除去GROUP BY
子句
UPDATE a_daily
SET a_daily.Turbine_Generation =
(
SELECT sum(o_daily_lcsgeneration.Turbine_Generation)
FROM o_daily_lcsgeneration
WHERE o_daily_lcsgeneration.Location = 1
)
它會導致查詢返回多個值,您有多個日期。
更新1
UPDATE a_daily a
INNER JOIN
(
select g.Date, sum(g.Turbine_Generation) totalSum
from o_daily_lcsgeneration g
where g.Location = 1
group by g.Date
) b ON a.date = b.date
SET a.Turbine_Generation = b.totalSum
WHERE a.location = 1
或
UPDATE a_daily a
LEFT JOIN JOIN
(
select g.Date, sum(g.Turbine_Generation) totalSum
from o_daily_lcsgeneration g
where g.Location = 1
group by g.Date
) b ON a.date = b.date
SET a.Turbine_Generation = COALESCE(b.totalSum, 0)
其實我需要總結(o_daily_lcsgeneration.Turbine_Generation)約會!有沒有其他解決方案 –
那麼如果你的子查詢中返回了多個值,你如何更新'a_daily.Turbine_Generation'的值?你可以添加表格的模式嗎?你有'a_daily'表上的日期,你想匹配你的子查詢? –
是的,我在a_daily表中有日期列 –