使用另一个表中的值之和更新sql表中的记录

时间:2014-06-14 15:13:32

标签: mysql sql phpmyadmin

我是SQL新手。我有一个表employee,它有字段eIDeLoad。此外,我有ongoing_projects表,pIDeID(这两个是主要的)和eLoad。我试图为每个员工插入所有eLoad的总和。我对伪代码有一个想法,但我无法实现它。有任何想法吗?谢谢!

For each eID in table employee
DO
UPDATE `employee` SET eload=(
  SELECT SUM (eload) as eload
  FROM ongoing_projects 
);

1 个答案:

答案 0 :(得分:2)

如果我理解它,你会想做类似的事情:

UPDATE employee e
SET e.eLoad = (SELECT SUM(op.eLoad) FROM ongoing_projects op WHERE op.eID=e.eID);

它使用employees.eLoad的总和更新ongoing_projects.eLoad列中的每一行,其中proceed_projects.eID =实际员工eID

或者,如果您希望使用employees.eLoadongoing_projects eLoad进行通信,则查询可能会显示:

UPDATE employee e
SET e.eLoad = e.eLoad + (SELECT SUM(op.eLoad) FROM ongoing_projects op WHERE op.eID=e.eID);