首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于select查询更新table2中的列,其中包含使用postgresql的table1计数()

基于select查询更新table2中的列,其中包含使用postgresql的table1计数()
EN

Stack Overflow用户
提问于 2021-11-14 08:32:16
回答 1查看 32关注 0票数 0

表格

需要从employee表的dno列中根据在每个部门工作的员工数更新部门表的dcount列。尝试使用update部门设置dcount=(从dno组的雇员内部联接部门中选择计数());*,这导致了一个错误:由用作表达式的子查询返回的多行:

期望的结果是:

**dname/dnumber/dcount

研究.5-4

行政管理4/3

总部*1**

需要帮助。提前谢谢。格鲁海特

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-14 09:36:42

您的子查询(select count() ...)返回几行,每个雇员一行,其中postgres只期望从该子查询中得到一行,以便在department表中一次更新一行。在本例中,用cte代替:

代码语言:javascript
运行
复制
WITH list AS
(
select dno, count(*) AS dno_count
  from employee
 group by dno
)
update department AS d
   set dcount = l. dno_count 
  from  list AS l 
 where d.dnumber = l.dno ;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69961456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档