一个关于Update的问题

insulator 2005-09-29 04:41:24
有两个表
TEST和TEST1
TEST有字段
NO FEE FEE1 NOL
1 0 0 2
2 0 0 2
3 0 0 2
4 0 0 2
1 10 10 1
2 20 20 1
TEST1有字段
NO FEE1
1 10
1 20
3 10

用SQL语句实现使得最后TEST变为下面的
NO FEE FEE1 NOL
1 40 30 2
2 20 0 2
3 10 10 2
4 0 0 2
1 10 10 1
2 20 20 1


注:最后得到的TEST表中的
FEE ====== 原来TEST表中NOL为1的FEE加上TEST1中的FEE1之和
FEE1 ====== TEST1中的FEE1
上面都是通过NO来关联,而且这些都只是对TEST表中NOL=2的进行操作
...全文
185 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
waterfirer 2005-09-29
  • 打赏
  • 举报
回复
同一个no,nol=1的有多条记录?
超叔csdn 2005-09-29
  • 打赏
  • 举报
回复
update test a set a.fee=a.fee1+nvl(select sum(fee1) from test1
where a.no=test1.no group by test1.no,0)
WHERE A.NOL=2(不知道类型,自己看吧)
超叔csdn 2005-09-29
  • 打赏
  • 举报
回复
update test a set a.fee=a.fee1+nvl(select sum(fee1) from test1
where a.no=test1.no group by test1.no,0)
insulator 2005-09-29
  • 打赏
  • 举报
回复
报错啊
你运行过吗
waterfirer 2005-09-29
  • 打赏
  • 举报
回复
简单一点就是
------
update test a set a.fee=a.fee1+nvl(select fee from test where nol=1 and no=a.no,0)

这个和两个表的可不一样啊,你那两个表的没看明白。
insulator 2005-09-29
  • 打赏
  • 举报
回复
简单一点就是
我要用
TEST 表(如下)
NO FEE FEE1 NOL
1 0 10 2
2 0 10 2
3 0 10 2
4 0 10 2
1 10 10 1
2 20 20 1

Update字段FEE
使得
FEE=FEE1+(当NOL==1时的FEE)

17,078

社区成员

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

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