如何利用查询结果更新update表字段

gothing 2005-02-06 09:05:21
有两个表:
表1: F1 F2 表2: F3
100 100
101 100
101

F1是表1的主键,想实现对表2按F3分组统计F3的数目,更新F1中对应的F2,下面的语句存在错误,如何更正,或有其他办法? 希望一条组合语句即可实现,而不需显示创建中间表.

update 表1 set F2 =
(
select count(*)
from 表1, 表2
where 表1.F1 = 表2.F3
group by 表1.F1
)
...全文
1213 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gothing 2005-02-06
  • 打赏
  • 举报
回复

didoleo(冷月无声)应该是对的,明天试一试了,多谢!
gothing 2005-02-06
  • 打赏
  • 举报
回复
楼上查询的结果可能是个集合,不可能赋值给字段F2的 顶
didoleo 2005-02-06
  • 打赏
  • 举报
回复
update 表1 set F2=A.F4 from
(select F3,count(1) as F4 from 表2 group by F3) A
where 表1.F1=A.F3
viptiger 2005-02-06
  • 打赏
  • 举报
回复
update 表1 set F2 =
(
select count(*)
from 表1, 表2
where 表1.F1 = 表2.F3
group by F3
)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧