【发布时间】:2019-03-17 11:04:01
【问题描述】:
我正在尝试使用 case 语句更新记录集合,但我得到:
错误:#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)
【问题讨论】:
标签: mysql sql join sql-update case