一个SQL语句

阿三 2009-03-11 04:24:56

1.
update cont_table set total_CP=(select sum(CP_amm) from CP_table
where cont_table.cont_no=CP_table.cont_no)
2.
update cont_table set total_CP=(
select cp_amm from
(select cont_no,sum(CP_amm) cp_amm from CP_table group by cont_no) B
where cont_table.cont_no=B.cont_no)

这两种写法有什么区别吗,有点晕了:(
...全文
104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yf520gn 2009-03-11
  • 打赏
  • 举报
回复
从分组求和SUM的角度来说区别还是不小。
fuyou001 2009-03-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 zxf_feng 的帖子:]

1.
update cont_table set total_CP=(select sum(CP_amm) from CP_table
where cont_table.cont_no=CP_table.cont_no)
2.
update cont_table set total_CP=(
select cp_amm from
(select cont_no,sum(CP_amm) cp_amm from CP_table group by cont_no) B
where cont_table.cont_no=B.cont_no)

这两种写法有什么区别吗,有点晕了:(
[/Quote]
但没什么区别,但第二种写法必须有一个谓词是表的主键
liulongjin2008 2009-03-11
  • 打赏
  • 举报
回复
没有区别
PRIVATEXFQ 2009-03-11
  • 打赏
  • 举报
回复
应该有区别
第二个sql应该是更新cont_table的所有数据 第一个sql是有限制的
运行下sql看看结果吧


cool_hnu 2009-03-11
  • 打赏
  • 举报
回复
没区别吧~

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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