Mysql Ошибка 1111: Неправильное использование групповой функции в обновлении - PullRequest
0 голосов
/ 16 мая 2019

У меня ошибка в коде mysql, я пытаюсь сделать обновление и получаю ошибку

Ошибка:

«Ошибка 1111: недопустимое использование групповой функции»

Не могли бы вы помочь мне узнать, что не так с моим кодом? Я новичок в MySQL

UPDATE
p_portfolio p LEFT JOIN p_portfolio_cstm pc
    ON p.id = pc.id_c
LEFT JOIN p_portfolio_p_purchaser_projects_1_c ppp1
    ON p.id = ppp1.p_portfolio_p_purchaser_projects_1p_portfolio_ida
LEFT JOIN p_purchaser_projects pp
    ON pp.id = ppp1.p_portfolio_p_purchaser_projects_1p_purchaser_projects_idb
LEFT JOIN p_purchaser_projects_cstm ppc
    ON pp.id = ppc.id_c

SET
pc.requested_itc_value_c = SUM(ppc.estimated_itc_value_c)

WHERE p.id = '4e9c9ea3-0880-4dc1-1063-5cbf71bd93bb'
AND p.deleted = 0 AND ppp1.deleted = 0 AND pp.deleted = 0;

1 Ответ

0 голосов
/ 16 мая 2019
UPDATE
p_portfolio p INNER JOIN

(SELECT SUM(ppc.estimated_itc_value_c) as estimated_itc_value,pc.id_c,ppp1.deleted as ppp1_deleted,pp.deleted as pp_deleted 
FROM p_portfolio_cstm pc
LEFT JOIN p_portfolio_p_purchaser_projects_1_c ppp1
    ON p.id = ppp1.p_portfolio_p_purchaser_projects_1p_portfolio_ida
LEFT JOIN p_purchaser_projects pp
    ON pp.id = ppp1.p_portfolio_p_purchaser_projects_1p_purchaser_projects_idb
LEFT JOIN p_purchaser_projects_cstm ppc
    ON pp.id = ppc.id_c
) t2 ON p.id = t2.id_c
SET
pc.requested_itc_value_c = t2.estimated_itc_value

WHERE p.id = '4e9c9ea3-0880-4dc1-1063-5cbf71bd93bb'
AND p.deleted = 0 AND t2.ppp1_deleted = 0 AND t2.pp_deleted = 0;
...