Sql 如何更新列的值?

Sql 如何更新列的值?,sql,postgresql,Sql,Postgresql,我在PostgreSQL数据库中有两个名为PROJECTS和PROJECTS\u EMPLOYEES\u RELATIONSHIP的表。你们可以看到,在第一个表中,我有一个名为TOTAL_EMPLOYEES的列。在该列中,我想根据第二个表中的信息存储项目中的员工总数。我尝试了下一个sql语句,但它引发了错误。如何修复此错误 项目: 项目\员工\关系: SQL: 错误: 您可以在下面尝试-请参阅作为参考 UPDATE PROJECTS SET TOTAL_EMPLOYEES = cntemploy

我在PostgreSQL数据库中有两个名为PROJECTS和PROJECTS\u EMPLOYEES\u RELATIONSHIP的表。你们可以看到,在第一个表中,我有一个名为TOTAL_EMPLOYEES的列。在该列中,我想根据第二个表中的信息存储项目中的员工总数。我尝试了下一个sql语句,但它引发了错误。如何修复此错误

项目:

项目\员工\关系:

SQL:

错误:

您可以在下面尝试-请参阅作为参考

UPDATE PROJECTS
SET TOTAL_EMPLOYEES = cntemployee 
FROM (SELECT PROJECT_ID, COUNT(EMPLOYEE) AS cntemployee 
      FROM PROJECTS_EMPLOYEES_RELATIONSHIP
      GROUP BY PROJECT_ID) B
WHERE PROJECTS.ID = B.PROJECT_ID

你好我现在就试过你的密码。它会引发这样的错误:SQL错误[42803]:错误:更新中不允许使用聚合函数。你有什么想法吗?@NurzhanNogerbek,我已经编辑好了-你现在可以查看了
| PROJECT_ID (uuid)                     | EMPLOYEE (varchar)    |
|---------------------------------------|-----------------------|
| 36c89a24-fff2-4cbc-a542-b1e956a352f9  | NNogerbek@gmail.com   |
| 41c89a24-fff2-4cbc-a542-b1e956a352f9  | IKim@gmail.com        |
UPDATE PROJECTS
SET TOTAL_EMPLOYEES = COUNT(EMPLOYEE)
FROM PROJECTS
LEFT JOIN PROJECTS_EMPLOYEES_RELATIONSHIP
ON PROJECTS.ID = PROJECTS_EMPLOYEES_RELATIONSHIP.PROJECT_ID
WHERE PROJECTS.ID = PROJECTS_EMPLOYEES_RELATIONSHIP.PROJECT_ID;
SQL Error [42712]: ERROR: table name "PROJECTS" specified more than once.
UPDATE PROJECTS
SET TOTAL_EMPLOYEES = cntemployee 
FROM (SELECT PROJECT_ID, COUNT(EMPLOYEE) AS cntemployee 
      FROM PROJECTS_EMPLOYEES_RELATIONSHIP
      GROUP BY PROJECT_ID) B
WHERE PROJECTS.ID = B.PROJECT_ID