После выполнения этого запроса я получаю сообщение об ошибке с недопустимым использованием функции группы. Я уверен, что после утверждения case мне нужна «сумма AS» или «AS i.amount», но mySQl тоже не нравится. Какие-либо предложения?обновление с использованием операторов case и sum
update INVITATION AS i
LEFT JOIN REGISTRATION AS r on i.id=r.INVITATION_id
LEFT JOIN FUNDING AS f on r.id=f.REGISTRATION_id
SET i.funding_travel_amount = SUM(case
when f.category = "Other" then sum(amount)
when f.category = "Airfare" then sum(amount)
when f.category = "Mileage" then sum(amount)
else 0 end), i.funding_travel = "Custom"
WHERE i.funding_hotel = "Prepaid"
and i.funding_travel = "None"
and i.funding_per_diem = "None"
and (f.category = "Other" OR f.category ="Airfare" OR f.category= "Mileage")
and f.id is not null;
Я не понимаю, почему вы используете 'CASE ... WHEN', если вы выбираете строки только с тремя значениями. – hjpotter92