このクエリを実行すると、グループ関数の無効な使用を示すエラー メッセージが表示されます。ケースステートメントの後には、「AS amount」または「AS i.mount」が必要だと確信していますが、mySQlはそれらのいずれも好きではありません。助言がありますか?
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;