Получение недопустимого использования групповой функции в запросе на обновление - PullRequest
0 голосов
/ 18 января 2020

Может кто-нибудь, пожалуйста, помогите мне, где проблема получает ' неверное использование групповой функции ' в запросе ниже

UPDATE t1 
JOIN t2 ON t1.id=t2.id
SET t1.total_amount = SUM(IF((t2.`due` <= 0), t2.`amount`, 0))
WHERE t2.flag=1 AND t2.id=003;

1 Ответ

0 голосов
/ 18 января 2020

Вы хотите агрегировать в подзапросе, затем присоединиться и установить во внешнем запросе:

update t1
inner join (
    select id, sum(case when due < 0 then t2.amount else 0 end) total_amount
    from t2
    where id = 3 and flag = 1
    group by id
) t2 on t1.id = t2.id
set t1.total_amount = t2.total_amount
...