[help]求一个更新 SQL

x0y1z2 2005-08-05 10:32:53
create table a_tbl(
pka int primary key,
a decimal(10,2)
)

create table b_tbl(
pkb int primary key,
fk int not null,
b decimal(10,2)
)

b_tbl.fk:a_tbl.pka=n:1
b_tbl.fk对应于a_tbl.pka
现在要把b_tbl.b更新为a_tbl.a/(对应b_tbl中记录条数),就一个sql可以完成吧?

本来想

update b_tbl
set b = a.a/ count(b_tbl.fk)
from b_tbl,a_tbl
where a_tbl.pka=b_tbl.fk
group by b_tbl.fk

结果:Server: Msg 157, Level 15, State 1, Line 2
An aggregate may not appear in the set list of an UPDATE statement.
...全文
117 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
子陌红尘 2005-08-05
  • 打赏
  • 举报
回复
update c
set
b = d.cnt
from
b_tbl c,
(select
b.fk,
cnt=(a.a/count(b.fk))
from
a_tbl a,b_tbl b
where
a.pka=b.fk
group by
b.fk,a.a) d
where
c.fk = d.fk

34,838

社区成员

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

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