I am trying to update a collection of records using a case statement but I get:
error: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM( SELECT SoftwareProjects.id, SoftwareProjects.Project_Code,
Description
' at line 8
here is my query:
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)