我是 SQL 新手。我有一个表employee
,它有字段eID
和eLoad
。此外,我还有表ongoing_projects
,它有pID
、eID
(这两个是主要的)和eLoad
。我试图为每个员工插入所有 eLoad
的总和。我有一个伪代码的想法,但我无法实现它。有任何想法吗?谢谢你!
For each eID in table employee
DO
UPDATE `employee` SET eload=(
SELECT SUM (eload) as eload
FROM ongoing_projects
);
最佳答案
如果我理解它,你会想做这样的事情:
UPDATE employee e
SET e.eLoad = (SELECT SUM(op.eLoad) FROM ongoing_projects op WHERE op.eID=e.eID);
它会使用 ongoing_projects.eLoad
的总和更新 employees.eLoad
列中的每一行,其中正在进行的_projects.eID=实际员工 eID
或者,如果您想将 employees.eLoad
与 ongoing_projects eLoad
相加,那么查询可能如下:
UPDATE employee e
SET e.eLoad = e.eLoad + (SELECT SUM(op.eLoad) FROM ongoing_projects op WHERE op.eID=e.eID);
关于mysql - 使用其他表中的值之和更新 sql 表中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24221321/