Я пытаюсь обновить коллекцию записей, используя оператор case, но получаю:
error: # 1064 - у вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с 'FROM (SELECT SoftwareProjects.id, SoftwareProjects.Project_Code, Description
' в строке 8
. Вот мой запрос:
UPDATE SoftwareProjects
SET BudgetStatus =
CASE
WHEN ((HoursBooked/HoursEstimated) * (100/1) < 80) THEN 1
WHEN ((HoursBooked/HoursEstimated) * (100/1) > 81 && (HoursBooked/HoursEstimated) * (100/1) < 100 ) THEN 2
ELSE 3
END
FROM
(SELECT SoftwareProjects.id, SoftwareProjects.Project_Code, Description,
BudgetStatus, TimelineStatus, QualityStatus, OverallStatus,
DeliveryDate, HoursEstimated, s4_project_id,
SUM( hours_adjusted ) AS HoursBooked
FROM SoftwareProjects
LEFT JOIN S4Admin.ts_entries ON s4_project_id =
S4Admin.ts_entries.project
GROUP BY Description
ORDER BY SoftwareProjects.Description)