我正在尝试添加ID相同的列。我是MySQL的新手,但似乎Group By
是我需要的。
这是我的尝试,但它给了我一个语法错误
| SITEID | STAFFID |假日|共
Update SiteStaff
SET Total = SUM(h.Holiday)
GROUP BY h.StaffID
答案 0 :(得分:1)
我怀疑你有假期表。如果是这样,您需要使用join
update
的查询,看起来像这样:
Update SiteStaff ss LEFT JOIN
(SELECT h.StaffId, SUM(h.holiday) as total
FROM Holidays h
GROUP BY h.StaffID
) h
ON ss.StaffId = h.StaffId
SET ss.Total = COALESCE(t.total, 0);
答案 1 :(得分:0)
我认为可能存在以下错误原因: -
h.Holiday
。那么这里的h
是什么?答案 2 :(得分:0)
通过查看更多示例
来解决这个问题UPDATE SiteStaff p, (SELECT StaffID, SUM(Holiday) as mysum
FROM SiteStaff GROUP BY StaffID) as s
SET p.Total = s.mysum
WHERE p.StaffID = s.StaffID